一、内容要求
第一题查询用连接查询和嵌套查询两种方法完成,其它查询要求用一种方法
学生(学号,年龄,性别,系名)
课程(课号,课名,学分,学时)
选课(学号,课号,成绩)
根据上面基本表的信息完成下列查询
1 查询选修了数据库原理的学生姓名。
2 查询比计算机系所有学生年龄都大的学生信息。
3列出“张力”选修的所有课程的课名和成绩。
二、SQL代码
1.连接查询
select stu.sname from stu,ce,xe where stu.sno=xe.sno and ce.cnum=xe.cnum and ce.cname='数据库原理与应用'
1.嵌套查询
select sname from stu where sno in (select sno from xe where cnum in (select cnum from ce where cname='数据库原理与应用') )
2.嵌套查询
1. select stu.* 2. from stu 3. where sage>(select max(stu.sage)from stu 4. where sdept='计算机')
3.链接查询
1. select stu.sname,ce.cname,xe.grade 2. from stu,ce,xe 3. where ce.cnum=xe.cnum and xe.sno=stu.sno and stu.sname='张力'
3.结果截图
1.连接查询
余下的所有结果
四、小结
若一个查询同时涉及两个或两个以上的表,则称之为连接查询,连接查询是数据库中最要的查询;嵌套查询又称子查询,是指在父查询的where条件语句中再插入一个子查询语句,连接查询都可以用子查询完成,反之不然。
嵌套查询的主要特点是sql允许从内到外进行多层嵌套分析,并将子查询的结果作为主查询的查询条件。连接是关系数据库模型的主要特征;多表查询可以通过连接运算符实现;连接操作给用户带来极大的灵活性,可以随时添加新的数据类型。