本文提供下面数据库代码的数据库原件,下载后可使用
教程如下:
1.打开sql sever
2.找到数据库
3.右键数据库点击“附加”,然后点击“添加”
4.导入数据库原件,点击确定
ps:如果没有sqlsever 或者页面编辑器,请参考此链接进行下载
--查询显示所有学生的信息
select * from s;
--查询选选修了课程的学生学号
--一般默认不去重,如果需要去重加distinc去重
select distinct sno from sc;--distinct写在目标列前面
--查询所有选修信息
select * from sc;
--查询所有选修信息,按照课程号升序排列
--升序参数ASC默认可省略,降序DESC不可省略
--如果要查的表里面有主键,默认是按主键升序排
select* from sc order by cno;
--统计学生的总人数
select count(*) from s;
--查询选修了课程的学生人数
select count(distinct sno) from sc;
--查询所有选修信息,按照课程号升序排列,同一课程内的学生成绩降序排列
select* from sc order by cno,grade desc;--升降序写在目标列后面
--查询所有学生的学号和年龄,并按年龄升序显示
select sno , datediff(year,sb,getdate())+1 from s order by sb;
--datediff函数:第一个参数是你要的时间单位,第二个参数是从什么时间算起,第三个参数是到哪个时间结束
--关于重命名,在目标列后面加名字即可
select sno 学号, datediff(year,sb,getdate())+1 年龄 from s order by sb;
--查询选修了课程编号为co1的学生学号和成绩
select sno,grade from sc where CNO='C01';
--查询“计算机”系“女”同学的学生学号和姓名
select sno,sn from s where sd='计算机' and sex='女';
--查询出生时间在1998-01-01到1999-12-31之间的学生的姓名和出生时间
select sn ,sb from s where sb between '1998-01-01' and '1999-12-31';
select sn ,sb from s where sb>='1998-01-01' and sb<='1999-12-31';
--查询姓“王”的所有学生的学号和姓名
select sno,sn from s where sn like '王%';--字符串同一用单引号
--模糊查询用%或者_
--%表示长度任意的字符串,_表示任意单个字符
--查询课程后缀名为"_实验"的课程信息
select * from c where cn like '%_实验' escape '\';
--_本身是通配符,需要对它进行转义变成 \ _,在字符串表达式后用ESCAPE来定义转义字符
--查询非数学系和非计算机系的学生学号、姓名、所在系
select sno ,sn, sd from s where sd !='数学' and sd !='计算机';--法一
select sno ,sn, sd from s where sd not in('数学','计算机');--法二,in可以判断一个值是否属于一个集合
--查询所有缺少选课成绩的学生学号和对应的课程号
select sno ,cno from sc where grade is null;--null适用于判断属性值是否为空
--查询选修了课程的学生学号和平均成绩
select sno,avg(grade) from sc group by sno;
--group by 按照某个规则分类,having对分组进行筛选
--加了group by则会以每一分组的元组为计算对象
--查询平均成绩在90分以上的学生学号和平均成绩
select sno