- SQL包括哪三个子语言?
数据定义子语言,数据操纵子语言,数据控制子语言
- 标准的SQL语言与实际数据库产品中的SQL数据库语言的关系?
实际数据库产品中的SQL数据库语言不一定会支持标准SQL语言的所有功能,但也有一些标准SQL语言中没有的功能。
- SQL的使用方式?
交互式SQL:直接在终端交互下使用;嵌入式SQL:嵌入在高级语言程序中使用
- SQL语言对数据库对象的定义使用哪三个SQL命令关键字?
CREATE创建、DROP删除、ALTER修改
- 利用alter table可以做哪些事?
修改表:对列可增加、修改、删除,对约束的增加、删除,使约束起作用或者不起作用,使触发器使能或失能
- 索引的优点与缺点?定义的索引由谁使用?
优点:加快查询速度 缺点:降低增删改的速度
定义的索引由有DBA权限或者是表的拥有者
- Select查询有哪些子句?各子句的执行顺序?
FROM、WHERE、GROUP BY、HAVING、SELECT、ORDER BY
- 在SELECT查询中,哪三个子句可以实施对数据的过滤或筛选?
WHERE、GROUP BY、HAVING可以实施对数据的过滤或筛选
- 在什么情况下,SELECT查询中的ORDER BY子句、COMPUTE和COMPUTE BY子句可以不要?
对于不涉及结果显示美观的子查询可以不要ORDER BY子句、COMPUTE和COMPUTE BY子句
- Group by子句与Select子句之间有何限制?Compute by子句与Order by子句之间有何限制?
GROUP BY要求SELETE子句的列表中,除了使用聚集函数的列外,其余各列都必须出现在GROUP BY子句的列表中。
COMPUTE BY要与ORDER BY联用,且COMPUTE BY后的表达式应与ORDER BY后的表达式内容与顺序一致
- 在T-SQL中,利用select可以做哪些事?
查看表或视图的数据;给变量赋值;查看变量的值;执行函数,返回值到客户端
- 游标的作用?游标的生命周期?
游标为SQL Server的存储过程、触发器和函数,也为高级编程语言提供了按行处理查询结果集合的途径。
游标的生命周期包括定义、打开游标、存取游标数据、关闭游标和释放游标缓冲区。
- 某WHERE子句中有'X%[^a-f]_[4-8]'串表达,下列(c)可以正确匹配。
A. XTa_9 B. XTb_8 C. XTTTr7 D. XSSSe3
- 视图中的数据来自所基于的(C)。
A. 列 B. 行 C. 表 D. 自身
假定由简易运动会ER图转换得到以下关系模式:
T(Tid,Tname,Tsex,Tage,Tphone)对应:团长(身份证号,姓名,性别,年龄,电话)。
D(Did,Dplace,Dsite,Tid),对应:代表团(团编号,来自地区,住所,身份证号)。
Y(Yid, Yname, Ysex, Yage, Did)对应:运动员(运动员编号,姓名,性别,年龄,团编号)。
X(Xid, Xname, Xgrade)对应:比赛项目(项目编号,项目名,级别)。
C(Yid, Xid, Ctime, Cscore)对应:参加(运动员编号,项目编号,比赛时间,得分)
注:关系模式一律使用给定的英文来回答问题,英文关系模式后面的中文是用于解释含义的。
写出以下问题的SQL语句:
- 创建C表,要求:创建主键,设定外键约束。各列的数据类型自行选用适当的类型。
CREATE TABLE C (
Yid INT,
Xid INT,
Ctime DATETIME,
Cscore FLOAT,
PRIMARY KEY (Yid, Xid),
FOREIGN KEY (Yid) REFERENCES Y(Yid),
FOREIGN KEY (Xid) REFERENCES X(Xid)
);
- 按团编号Did查询其运动员人数,并按Did降序排序。
SELECT Did, COUNT(*) AS Y_count
FROM Y
GROUP BY Did
ORDER BY Did DESC;
- 按团编号Did查询其运动员参加的比赛项目总数。
SELECT Did, COUNT(*) AS X_count
FROM C
INNER JOIN Y ON C.Yid = Y.Yid
GROUP BY Did;
通过这次学习,我学会了如何定义子语言的命令关键字,知道了如何定义数据库、表、视图和索引,对数据库、表、视图和索引有了更加深入的了解,学习了操纵子语言的关键命令字,学会了数据插入、数据修改、数据删除和数据查询,对selete子句有了深入的理解,同时我对T-SQL语言有了深刻的认识