数据库原理与应⽤--SQL2012实验三
C.3数据库单表查询
C.3.1实验⽬的和注意事项
实验⽬的,掌握单表查询SELECT、FROM、WHERE 的⽤达,特别安享握⽐较运算符、逻辑运算符的使⽤。
select distinct from
注意事项,⼦句WHERE<;条件>表⽰元组筛选条件;⼦句HAVING<;条件>表⽰元组选择条件;⼦句HAVING<;条件>必须和 GROUP BY⼦句配合使⽤;注意输⼊SQL语句时均应使⽤对应操作符号。
C.3.2实验内容
(1)创建查询窗⼝,设置查询环境。
(2)单表查询。
C.3.3 实验步骤
(1)选择要查询的数据库,右击【新建查询】按钮,或者执⾏系统菜单中的【⽂件】|【新建】|【使⽤当
前连接查询】命令,或者单击标准⼯具栏中的【新建查询】按钮,
即可新建⼀个奋询窗⼝。如果查询数据库不是StudentCourse,则可在可⽤数据库下拉列表中进⾏选择,或⽤USE语句调⽤。
(2)在查询窗⼝中输⼊SELECT 查询语句,对StudentCourse数据库进⾏查询操作。
①查询计算机系全体学⽣的信息。
select * from student where Sdept = ‘计算机系’;
②查询姓“李”的学⽣的学号和姓名。
select Sno,Sname from student where Sname like ‘李%’;
③查询课程表中先⾏课为空的课程名。
select Cname from Course where PreCno = ’ ';
④查询考试成绩有不及格的学⽣的学号。
select distinct Sno from SC where Grade < 60 ;
⑤求选修了CO1课程或C02课程的学⽣的学号及成绩。
select Sno,Grade from SC where Cno = ‘C01’ or Cno = ‘C02’ ;
⑥查询全体计算机系学⽣的姓名及其年龄.
select Sname 姓名,year(getdate())-year(Sbirthday) 年龄 from Student where Sdept = ‘计算机系’;
⑦查询计算机系在1996—1997年之间出⽣的学⽣的姓名。
select Sname from student where Sdept = ‘计算机系’ and year(Sbirthday) between 1996 and 1997 ;
⑧查询姓“李”的前两个学⽣的学号和姓名。
select top 2 Sno,Sname from student where Sname like ‘李%’ ;
⑨查询选修了两门以上课程的学⽣学号与选课门数。
Select Sno,count(Cno) 选课数 from SC group by Sno having count(Cno)>2
⑩查询选修课程数⼤于等于2的学⽣的学号、平均成绩和选课门数,并按平均成绩降序排列。
Select Sno,avg(Grade) 平均成绩,count(Cno) 选课数 from SC group by Sno having count(Cno)>2 order by avg(Grade) desc