数据库中有如下三个表:
学生表(学号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.从学生表中查询学校所有系的名字
select 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所有学生的成绩平均值并赋予“平均成绩
24.”列名
select avg(成绩)平均成绩from选课表
where课程号='C02'
25.从选课表中查询选修课程号C02且该门课程考试及格的学生的学号
select学号from选课表
where课程号='C02'and成绩>=60
26.从选课表中查询所有无考试成绩的学生的学号和课程的课程号
select学号,课程号from选课表
where成绩is null
27.从选课表中查询选修了课程号以C开头的学生的学号和所选课程的课程号
select学号,课程号from选课表
where课程号LIKE'C%'
28.从选课表中查询选修了课程号以C、D或E开头学生的学号和所选课程的课程号
select学号,课程号from选课表
where课程号LIKE'[CDE]%'
29.从选课表中查询选修了课程号中包含DB的学生的学号和课程号
select学号,课程号from选课表
where课程号LIKE'%DB%'
30.从选课表中查询选修了课程的学生的学号
select distinct学号from选课表
where课程号is not null
31.从选课表中查询选修了课程的学生的人数
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 s tu
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。