文档详情

sql数据库简单查询和连接查询.doc

发布:2017-08-03约1.21万字共5页下载文档
文本预览下载声明
实验三:数据库的简单查询和连接查询 学号: 姓名: 实验三:数据库的简单查询和连接查询 实验目的: 掌握简单表的数据查询、数据排序和数据联结查询的操作方法。 实验内容: 简单查询操作和连接查询操作。 实验步骤: 一. 单表查询: 1. 查询全体学生的学号和姓名: select sno, sname from student 2. 查询全体学生的所有信息: select * from student 或者 select sno, sname, ssex,sage, sdept from student 3. 查询全体学生的姓名, 出生年份,和所在系, 并用小写字母表示所有系名: select sname, 出生年份为: , year(getdate()) - sage, lower(sdept) from student 4. 给上例的结果集指定列名: select sname, 出生年份为: 出生, year(getdate())- sage 年份, lower(sdept) 系名from student 5. 查询选修了课程的学生的学号: select distinct sno from sc 比较: select sno from sc 6. 查询年龄在20岁以下的学生的姓名及其年龄: select sname, sage from student where sage20 7. 查询考试成绩有不及格的学生的学号: select distinct sno from sc where grade60 比较: select sno from sc where grade60 8. 查询年龄在20-30岁直接的学生的姓名, 姓名, 所在系: select sname, ssex, sdept from student where sage between 20 and 30 9. 查询 IS,CS,MA系的所有学生的姓名和性别: select sname, ssex from student where sdept in (IS, MA,CS) 10. 查找所有姓’李’的学生的姓名, 学号和性别: select sname, sno, ssex from student where sname like 李% 比较: 将学生表中的’95001’号学生的姓名’李勇’改为’李勇勇’, 再执行: select sname, sno, ssex from student where sname like 李_ 11. 查询没有先行课的课程的课程号cno和课程名cname: select cno, cname from course where pcno is null 二. 查询结果排序 12. 查询选修了3号课程的学生的学号和成绩, 并按分数降序排列: select sno, grade from sc where cno=3 order by grade DESC 23. 查询全体学生的情况,查询结果按所在系号升序排列, 同一系中的学生按年龄降序排列: select * from student order by sdept ASC, sage DESC 三. 连接查询: 14. 查询每个学生及其选修课程的情况: select student.*, sc.* from student, sc where student.sno=sc.sno 比较: 笛卡尔集: select student.*, sc.* from student, sc 自然连接: select student.sno, sname, ssex, sdept, cno, grade from student, sc where student.sno=sc.sno 15. 查询每一门课程的间接先行课(只求两层即先行课的先行课): select First.cno, Second.pcno 间接先行课from course First, course Second where First.pcno=Second.cno 比较: select First.cno, Second.pcno 间接先行课 from course First, course Second where First.pcno=Second.cno and Second.pcno is not null 16. 列出所有学生的基本情况和选课情况, 若没有选课,则只列出基本情况信息: SQL Server 中: select s.sno, sname, ssex,sdept, cno, grade from
显示全部
相似文档