前引
现在终于终于上手了MySql
了 终于对数据库提起来一点兴趣了 因为我喜欢很多东西是看得见上的了手的 课后的很多题基本上很多我看一题 我就打开MySQL
去手动写一道题 像下面这样 这样不仅可以动动手没有那么无聊 还可以强化记忆 哈哈
把这个博客写了 我还想写一下Leetcode 500题AC
的总结贴呢 今天刚刚做了几道二分查找的基础题 就发现力扣已经刷了有500道题了 所以想写一下总结帖 还有主要想对最近心里面想的事情 还有之后的一些想法写在里面把 但是现在太困了 呜 待会写了就睡觉
关于SQL
语法总结好文
MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!)
第六章课后习题
1、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能_________。
A.数据定义(√)
B.数据查询(Select)
C.数据操纵(INSERT、 UPDATE、 DELETE)
D.数据控制(GRANT、DENY)
2、已知有: 学生表Student(S# char(8), Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6))中,若要在学生表中追加一个元组“学号为98030101的男同学张三,年龄为20,所属系别03,所在班级980301”,则可用_________。
A.INSERT INTO Student VALUES(‘98030101’,‘张三’,‘男’, 20,‘03’,‘980301’);(√)
B.ADD INTO Student VALUES(‘98030101’,‘张三’,‘男’,20,‘03’,‘980301’);
C.INSERT INTO Student VALUES (9803010, 张三, 男, 20, 03, 980301);
D.ADD INTO Student VALUES(98030101, 张三, 男, 20,03,980301);
3、有学生表Student(S# char(8), Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6))。要检索学生表中“所有年龄小于等于19岁的学生的年龄及姓名”,SQL语句正确的是_________。
A.Select Sage, Sname From Student Where Sage <= 19;(√)
B.Select Sname From Student Where Sage <= 19;
C.Select * From Student Where Sage <= 19;
D.Select Sage, Sname From Student;
4、若用如下的SQL语句创建一个表SC:
CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER, NOTE CHAR(20));
向SC表中插入如下行时,_________行可以被插入。
A.(‘200823’,‘101’,NULL,NULL)(√)
B.(‘201009’,‘101’,NULL,必修)
C.(NULL,‘103’,80,‘选修’)
D.(‘201132’,NULL,86,‘’)
5、有学生表Student(S# char(8), Sname char(10), Ssex char(2),Sage integer, D# char(2), Sclass char(6))。若要“检索名字为张某某的所有同学姓名”,SQL语句正确的是_________。
A.Select Sname From Student Where Sname Like ‘张____’;(√)
B.Select Sname From Student Where Sname Like ‘张%’;
C.Select Sname From Student Where Sname Like ‘张_’;
D.Select Sname From Student Where Sname Not Like ‘张_ _’;
6、在关系模型中关于结果唯一性问题,结果排序问题,模糊查询问题,如下说法不正确的是_________。
A.结果排序是在Select语句中通过增加order by子句实现的,后只能跟DESC或省略为降序。(√)
B.在Table中要求无重复元组是通过定义Primary key或Unique来保证的;而在检索结果中要求无重复元组, 是通过在SELECT子句中引入DISTINCT保留字来实现的。
C.模糊查询是通过在Select语句的Where子句中引入运算符like来实现的
D.在SELECT语句的Like条件中,用“%”去匹配字符%,用_ 去匹配字符_
7、有关系表SC ( S# , C#, Score),求既学过“001”号课又学过 “002”号课的所有学生的学号,下列SQL语句正确的是_________。
A.Select S1.S# From SC S1, SC S2 Where S1.S# = S2.S# and S1.C#=‘001’ and S2.C#=‘002 ;(√)
B.Select S# From SC Where C# = ‘001’ AND C#=‘002’;
C.Select S2.S# From SC S1, SC S2 Where S1.S# = S2.S# or S1.C#=‘001’ and S2.C#=‘002 ;
D.Select S1.S# From SC S1 Where S1. C# = ‘001’ AND S1.C#=‘002’;
8、有关系表SC(S# , C#, Score),求“001”号课成绩比“002”号课成绩高的所有学生的学号。下列SQL语句正确的是_________。
A.Select S1.S# From SC S1, SC S2 Where S1.S# = S2.S# and S1.C#=‘001’ and S2.C#=‘002’ and S1.Score > S2.Score;(√)
B.Select S1.S# From SC S1, SC S2 Where S1.S# = S2.S# and S1.C#=‘001’ and S2.C#=‘002’ and S2.Score > S1.Score;
C.Select S1.S# From SC S1, SC S2 Where S1.S# = S2.S# and S1.C#=‘001’ and S2.C#=‘002 ;
D.Select * From SC S1, SC S2 Where S1.S# = S2.S# and S1.C#=‘001’ and S2.C#=‘002’ and S1.Score > S2.Score;
9、假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系SC(S#,C#,GRADE)。要查询选修“Computer”课的男生姓名,将涉及到关系_________。
A.S,C,SC(√)
B.S
C.S,SC
D.SC
10、SQL语言中,删除一个表的命令是________。
A.DROP(√)
B.DELETE
C.CLEAR
D.REMOVE
11、学生关系S(S#,Sname,Ssex,Sage,D#,Sclass),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是_________。
A.ALTER TABLE S DROP Sage(√)
B.DELETE Sage from
C.UPDATE S Sage
D.ALTER TABLE S ‘Sage’
12、若要撤销数据库中已经存在的表S,可用_________。
A.DROP TABLE S(√)
B.DELETE TABLE S
C.DELETE S
D.DROP S
13、WHERE条件中出现 LIKE 'A%’,下面哪一个结果是可以被检索出来的________。
A.BAI(√)
B.AILI
C.CCA
D.以上所有都可以被检索出来
14、查询时,若要输出无重复的记录,SELECT子句中使用的保留字是:_________。
A.DISTINCT(√)
B.ALL
C.TOP N
D.TOP N PERCENT
15、查询结果输出时要求按“总评成绩”降序排列,相同者按“性别”升序,正确的子句是_________。
A.ORDER BY 总评成绩 DESC,性别(√)
B.ORDER BY 总评成绩,性别 DESC
C.ORDER BY 总评成绩 DESC,性别 DESC
D.ORDER BY 总评成绩 ASC,性别 DESC
默认升序 ASC 降序DESC
16、在下列SQL语句中,属于数据控制语言DCL的是_________。
1、CREATE 2、SELECT 3、UPDATE 4、GRANT 5、DELETE 6、ALTER 7、INSERT 8、REVOKE
A.4,8(√)
B.1,5,6,7
C.2,3,6,8
D.1,5,7
17、已知关系S(S#,SN,AGE,SEX),SC(C#,S#,GRADE),C(C#,CN,TEACHER)。若要检索学生姓名及其选修课程的课程号和成绩,正确的SELECT语句是_________。
A.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S#(√)
B.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#
C.SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE
D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC
18、INSERT INTO Goods(Name,Storage,Price) VALUES (’Keyboard’,3000,90.00)的作用是________。
A.添加数据到一行中的部分列(√)
B.添加数据到一行中的所有列
C.插入默认值
D.插入多个行
19、已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。
阅读SQL语句:
SELECT Sname FROM Student, SC, Course WHERE Student.S#=SC.S# AND Course.C#=SC.C# AND T#= ‘T01’ AND Score<60;
关于其查询结果,下列说法正确的是_____ 。
A.学习T01号教师讲授课程不及格的所有学生的姓名(√)
B.学习T01号教师讲授课程及格的所有学生的姓名
C.学习非T01号教师讲授课程不及格的所有学生的姓名
D.课程不及格的所有学生的姓名
20、如下几个表所示学生、课程、必修课和选课关系,用SQL语言实现下列操作。
A.UPDATE 选课 SET 成绩=成绩+10 WHERE 课号=‘1002’;(√)
B.UPDATE 选课 SET 成绩=成绩+10 WHERE 课号=1002;
C.SET 选课 UPDATE 成绩=成绩+10 WHERE 课号=‘1002’;
D.UPDATE 选课 SET 成绩+10 WHERE 课号=‘1002’;
21、如下几个表所示学生、课程、必修课和选课关系,用SQL语言实现下列操作。
A.DELETE FROM 课程 WHERE 课号=‘2003’;(√)
B.DELETE FROM 课程 WHERE 课号=2003;
C.DELETE FROM 课程 WHERE ‘2003’;
D.DELETE FROM 课程.课号=‘2003’;
22、如下几个表所示学生、课程、必修课和选课关系。
A(√)
23、如下几个表所示学生、课程、必修课和选课关系。
A(√)
24、在SELECT语句中,与关系代数中s运算符对应的是________子句。
A.WHERE(√)
B.SELECT
C.FROM
D.GROUP BY
25、在SELECT语句中,与关系代数中p运算符对应的是________子句。
A.SELECT(√)
B.FROM
C.WHERE
D.GROUP BY
26、已知SC(S#, C#, Score)关系的元组,如下所示{<S1, C1, 80>,<S1, C2, 90>,<S1, C3, 60>, <S2, C1, 75>, <S2, C2, 80>, <S3, C2, 85>, <S3, C3, 75>, <S4, C2, 80>, <S5, C3, 50>, <S5, C1, 85>}。关于“SELECT S# FROM SC WHERE C#=‘C1’ and C# = ‘C3’”,下列说法正确的是___ _____。
A.其它说法都不正确(√)
B.该查询结果中的元组为{ S1, S5 };
C.该查询结果中的元组为{ S1, S2, S3, S5 };
D.该查询结果中的元组为{ S1 };