数据库中有如下三个表:
学生表(学号id,姓名name,性别sex,系部depart,年龄age)8个学生记录
选课表(学号id,课程号cid,成绩grade) 12门课程
课程表(课程号cid,课程名cname,学分Ccredit) 6门课程
学生-课程模式 S-T :
学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
1. 从学生表中查询所有同学的所有信息
select * from 学生表
2. 从学生表中查询所有学生的信息,并分别赋予一个别名
select 学号as xuehao,姓名as xingming,性别as xingbie,系部as xibu,年龄as nianling from 学生表
3. 从学生表中查询姓名是Allen的学生的信息
select * from 学生表
where 姓名='Allen'
4. 从学生表中查询
学号在1101到1199之间的所有学生的信息
select * from 学生表
where 学号between 1101 and 1199
5. 从学生表中查询年龄小于18和大于20的所有学生的学号和姓名
select 学号,姓名from 学生表
where 年龄<18 or 年龄>20
6. 从学生表中查询计算机系年龄小于20的所有学生的信息
select * from 学生表
where 系部='computer' and 年龄<20
7. 从学生表中查询姓名以A开头的学生的信息
select * from 学生表
where 姓名LIKE'A%'
8. 从学生表中查询姓名的第三个字符是A的学生的学号和姓名
select 学号,姓名from 学生表
where 姓名LIKE'__A%'
9. 从学生表中查询姓名中包含“llen”的学生的学号和姓名
select 学号,姓名from 学生表
where 姓名LIKE'%llen%'
10. 从学生表中查询姓名中包含“llen”且姓名只有5个字符的学生的学号和姓名
select 学号,姓名from 学生表
where 姓名LIKE'%llen%' and len(姓名)=5
11. 从学生表中查询有年龄信息的学生的学号和姓名
select 学号,姓名from 学生表
where 年龄is not null
12. 从学生表中查询最大年龄和最小年龄
select max(年龄)最大年龄,min(年龄)最小年龄from 学生表
13. 从学生表中查询所有学生的平均年龄
select avg(年龄)平均年龄from 学生表
14. 从学生表中查询学校所有系的名字
selectdistinct查询 distinct 系部from 学生表
15. 从学生表中查询学校共有多少个系
select count(distinct 系部)系部总和from 学生表
16. 从选课表中查询所有学生的选课情况
select distinct 课程号 from 选课表
17. 从选课表中查询选修课程号为C01课程的学生的学号
select 学号 from 选课表
where 课程号='C01'
18. 从选课表中查询所有没有选C02课程的学生的学号
select distinct 学号 from 选课表
where 课程号!='C02'
19. 从选课表中查询有选修C01或C02课程的学生的学号
select distinct 学号 from 选课表
where 课程号='C01' or 课程号='C02'
20. 从选课表中查询学号为1101的学生的选课情况
select 课程号from 选课表
where 学号='1101'
21. 从选课表中查询所有选课信息,即学号、课程号、成绩,并给成绩加8分
select 学号,课程号,成绩=成绩+8 from 选课表
22. 从选课表中查询学号为1101的学生的所有选修课程成绩的总和
select sum(成绩)成绩总和from 选课表
where 学号='1101'
23. 从选课表中查询选修课程好为C02所有学生的成绩平均值并赋予“平均成绩
”列名
”列名
select avg(成绩)平均成绩from 选课表
where 课程号='C02'
24. 从选课表中查询选修课程号C02且该门课程考试及格的学生的学号
select 学号from 选课表
where 课程号='C02' and 成绩>=60
25. 从选课表中查询所有无考试成绩的学生的学号和课程的课程号
select 学号,课程号from 选课表
where 成绩is null
26. 从选课表中查询选修了课程号以C开头的学生的学号和所选课程的课程号
select 学号,课程号from 选课表
where 课程号LIKE'C%'
27. 从选课表中查询选修了课程号以C、D或E开头学生的学号和所选课程的课程号
select 学号,课程号from 选课表
where 课程号LIKE'[CDE]%'
28. 从选课表中查询选修了课程号中包含DB的学生的学号和课程号
select 学号,课程号from 选课表
where 课程号LIKE'%DB%'
29. 从选课表中查询选修了课程的学生的学号
select distinct 学号from 选课表
where 课程号is not null
30. 从选课表中查询选修了课程的学生的人数
select count(distinct 学号)总人数from 选课表
31. 出姓名以D开头的学生姓名和所有成绩
select 学生表.姓名,选课表.成绩
from 学生表join 选课表on 学生表.学号=选课表.学号
where 学生表.姓名LIKE'D%'
32. 查的所有学生姓名与学号,结果按学号降序排序
select 学号,姓名
from 学生表
order BY 学号 DESC
33. 查成绩介于80和90之间的学生姓名,结果按成绩和姓名升序排序
select 学生表.姓名
from 选课表join 学生表on 学生表.学号=选课表.学号
where 选课表.成绩 between 80 and 90
order BY 选课表.成绩,学生表.姓名
34. 查english系的所有学生姓名,结果按成绩和姓名升序排序
select 学生表.姓名,学生表.学号,选课表.成绩
from 选课表join 学生表on 学生表.学号=选课表.学号
where 学生表.系部='english'
35. 查同时选修了C01及C02两门课程的学生姓名及学号
select 学生表.姓名,A.学号
from 选课表as A join 选课表as B on A.学号=B.学号
join 学生表on 学生表.学号=A.学号
where A.课程号='C01' and B.课程号='C02'
36. 查所有选修了课程的学生姓名及所在系别
select distinct 学生表.姓名,学生表.系部
from 学生表join 选课表on 学生表.学号=选课表.学号
where 选课表.课程号is not null
37. 查成绩高于90分的学生姓名、学号及系别
select 学生表.姓名,学生表.学号,学生表.系部
from 学生表join 选课表on 学生表.学号=选课表.学号
where 选课表.成绩>=90
38. 出选修了C01课程的学生姓名
select 学生表.姓名
from 学生表join 选课表on 学生表.学号=选课表.学号
where 选课表.课程号='C01'
39.查询English系学生人数
select count(*) English 系总人数
from 学生表
where 系部='English'
40.分别查询各系的学生人数
select 系部,count (*) 人数
from 学生表
group by 系部
41.创建一个角uus.
CREATE ROLE uus;
42.给uus授权SELECT,UPDATE,INSERT .
GRANT SELECT,UPDATE,INSERT
ON Stu
TO uus
43. 增加一个登录,登录名为tp,密码为123,默认的数据库为stu
EXEC sp_addlogin 'tp', '123', 'stu'
44. 将登录tp增加为test库的一个用户,并连接到test库。
exec sp_adduser 'tp'
45. 授权SELECT.
use stu
GRANT SELECT ON stu to tp
46. 删除用户与登录.
exec sp_dropuser 'tp'
exec sp_droplogin 'tp'
47. uus角的select权限的收回
REVOKE select
ON stu
FROM uus;
48.打开学生表
Use stu
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论