1.SqlServer2012系统数据类型有哪些?
数据类型 | 符号标识 |
---|---|
数据类型 | bigint、int、smallint、tinyint |
整数型精确数值型 | decimal、numeric |
浮点型 | float、real |
货币型 | money、smallmoney |
位型 | bit |
字符型 | char、varchar、varchar(MAX) |
Unicode字符型 | nchar、nvarchar、nvarchar(MAX) |
文本型 | text、ntext |
日期时间类型 | datetime、smalldatetime、date、time、datetime2、datetimeoffset |
时间截型 | timestamp |
图像型 | image |
其他 | cursor、sql_variant、table、uniqueidentifier、xml、hierarchyi |
2.写出创建产品销售数据厍cpxs中所有表的SQL语句。其所包含的表如下。
产品表:产品编号,产品名称,价格,库存量。
销售商表:客户编号,客户名称,地区,负责人,电话。
产品销售表:销售日期,产品编号,客户编号,数量,销售额。
1 | CREATE TABLE [dbo].[product] ( |
3.在第2题中所创建的cpxs数据库的产品表中增加”产品简介“列,之后在删除该列。
1 | ALTER TABLE [dbo].[product] |
4.写出SQL语句,对产品销售数据库产品表进行如下操作。
(1)插入如下记录。
产品编号 | 产品名称 | 价格 | 库存量 |
---|---|---|---|
0001 | 空调 | 3000 | 200 |
0203 | 电冰箱 | 2500 | 100 |
0301 | 彩色电视机 | 2800 | 50 |
0421 | 微波炉 | 1500 | 50 |
1 | insert into [dbo].[product] values |
(2)将产品数据库的产品表中每种商品的价格打8折
1 | UPDATE [dbo].[product] SET [价格]=[价格]*0.8 |
(3)将产品数据库的产品表中价格打8折后低于50元的商品删除
1 | DELETE [dbo].[product] WHERE [价格]<50 |
(4)查找价格在2000~2900元之间的商品名。
1 | SELECT [产品名称] FROM [dbo].[product] WHERE [价格] BETWEEN 2000 AND 2900 |
(5)计算所有商品的总价格。
1 | SELECT SUM([价格]*[库存量]) FROM [dbo].[product] |
(6)在产品销售数据库上创建电冰箱产品表的视图bxcp。
1 | CREATE VIEW [dbo].[bxcp] AS SELECT |
(7)在bxcp视图中查询库存量在100台以下的产品编号。
1 | SELECT * FROM [dbo].[bxcp] WHERE [库存量]<100 |
5.使用EXISTS关键字引入的子查询与使用IN关键字引入的子查询在语法上有哪些不同?
// EXISTS 方式
SELECT * FROM A WHERE EXISTS(SELECT * FROM B WHERE B.id=A.uid);
// in 方式
SELECT * FROM A WHERE id IN (SELECT id FROM B);
6. WHERE子句与HAVING子句有何不同?
Where是一个约束声明,是在查询结果集返回之前约束来自数据库的数据,且Where中不能使用聚合函数。
Having是一个过滤声明,是在查询结果集返回以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。
7.试说明游标的种类和用途。
种类:前端(客户端)游标、后端(服务器端)游标
用途:游标提供了对一个结果集进行逐行处理的能力,游标可看做一种特殊的指针,它与某个查询结果相联系,可以指向结果集的任意位置,以便对指定位置的数据进行处理。
8.举例说明游标的使用方法和步骤。
- 声明游标
- 打开游标
- 读取数据
- 关闭游标
- 删除游标
关联
[[PHP 面试题汇总]]