数据库-sql 语言综合练习

针对学生课程选课数据库进行以下操作

Student( Sno    CHAR(7) primary key,

 Sname  CHAR(10) ,            

Ssex   CHAR(2) ,

         Sage   int DEFAULT 20,

         Sdept  CHAR(20) )

Course(

    Cno Char(10)    PRIMARY KEY,

    Cname Char(20)  NOT NULL,

    Ccredit  int    CHECK(Ccredit>0),

    Semester int    CHECK(Semester>0),

    Period   int    CHECK(Period>0),

)

SC(

    Sno CHAR(7)    NOT NULL,

    Cno CHAR(10)  NOT NULL,

    Grade   int,       

    PRIMARY KEY (Sno,Cno),       

    FOREIGN KEY(Sno)  REFERENCES Student(Sno),

    FOREIGN KEY(Cno)  REFERENCES Course(Cno)               

)

 

1、查询Student表中的所有记录的Sname和Sage列。
2、 查询学生所有的系别即不重复的Sdept列。
3、 查询Student表的所有记录。
4、 查询全体学生的出生年份和性别,并给出生年份列命名为“BIRTHDAY”。
5、 查询SC表中分数大于85分的学生学号。
6、 查询SC表中成绩在60到80之间的所有记录。
7、 查询SC表中成绩为85,86或88的记录。
8、 查询Student表中不姓“王”的同学记录。
9、 查询全校同学名字中第二个字为“小”的同学的具体情况。
10、查询课程名中含有“_”的课程的名字和学分。
11、查询学生表中姓赵、钱、孙、李的同学。
12、查询Sc表中没有成绩的同学的学号。
13、查询Student表中“信息系”班或性别为“女”的同学记录。(复合条件查询,集合查询)
14、查询计算机系男生的具体情况。
15、以年龄降序查询Student表的所有记录。
16、以Cno升序、Grade降序查询Sc表的所有记录。
17、查询所有学生的Sname、Cname和Grade列。(连接查询)
18、查询所有选修“计算机导论”课程的同学的成绩。(连接查询,嵌套查询)

19、查询和“李军”同性别的同学Sname. (自身连接查询,嵌套查询)
20、查询所有同学的基本情况和选课情况,包括未选课的同学。(外连接查询)
21、查询选修13号课程且成绩高于80分的同学的名字。(连接查询,嵌套查询,集合查询)
22、查询和学号为0608002的同学同年出生的所有学生的Sno、Sname列。(自身连接查询,嵌套查询)
23、查询王位同学所有的成绩。(连接查询,嵌套查询)
24、查询非计算机系的不超过计算机系所有学生的年龄的学生姓名。(用ANY,ALL)

25、查询存在有85分以上成绩的课程Cno.(用exists)
26、查询计算机系同学的人数。

27、查询数学系统学所选课程的平均分。
28、查询Student表中年龄最大和最小的同学的具体情况。
29、查询最高分同学的Sno、Cno列
30、查询13号课程的平均分。

31、查询选修了13号课程且成绩比该课程平均成绩低的同学的学号和成绩。
32、查询选修了13号课程或1号课程的同学的学号。(复合条件查询,集合查询)

33、查询各个课程号及相应的选课人数。

34、查询选修了3门以上课程且总分大于200分的同学的学号。

-------后附自己写的答案 可能答案会有点繁琐,希望看到的博主们给我留言指出最简便的查询语句哦~~~~

  1. 查询Student表中的所有记录的Sname和Sage列。

SELECT Sname,Sage FROM Student


2、 查询学生所有的系别即不重复的Sdept列。

SELECT sdent

FROM student

GROUP BY sdent


3、 查询Student表的所有记录。

SELECT * FROM student


4、 查询全体学生的出生年份和性别,并给出生年份列命名为“BIRTHDAY”。

SELECT Sname,Sage AS BIRTHDAY,Ssex FROM student


5、 查询SC表中分数大于85分的学生学号。

SELECT Sno

FROM sc

WHERE grade>=85

GROUP BY Sno

 


6、 查询SC表中成绩在60到80之间的所有记录。

SELECT *

FROM sc

WHERE Grade>=60 AND Grade<=80


7、 查询SC表中成绩为85,86或88的记录。

SELECT *

FROM sc

WHERE Grade=85 OR Grade=86 OR Grade=88


8、 查询Student表中不姓“王”的同学记录。

SELECT *

FROM student

WHERE Sname NOT

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值