数据库(3)--嵌套查询和连接查询

时间:2023-02-10 12:55:35

上一篇:数据库(2)--加深对统计查询的理解,熟练使用聚合函数:​https://blog.51cto.com/hwuu/6040381​

一、内容要求

从下面10个题目中选一个,第一题查询用连接查询和嵌套查询两种方法完成,其它查询要求用一种方法是先即可

学生(学号,年龄,性别,系名)

课程(课号,课名,学分,学时)

选课(学号,课号,成绩)

根据上面基本表的信息完成下列查询

1 查询选修了数据库原理的学生姓名。

2 查询比计算机系所有学生年龄都大的学生信息。

3列出“张力”选修的所有课程的课名和成绩。

二、代码

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.嵌套

select stu.*
from stu
where sage>(select max(stu.sage)from stu
where sdept='计算机')

3.连接

select stu.sname,ce.cname,xe.grade
from stu,ce,xe
where ce.cnum=xe.cnum and xe.sno=stu.sno and stu.sname='张力'

三、结果截图

1.连接查询

数据库(3)--嵌套查询和连接查询

2.余下的所有结果

数据库(3)--嵌套查询和连接查询

四、小结

​若一个查询同时涉及两个或两个以上的表,则称之为连接查询,连接查询是数据库中最要的查询;嵌套查询又称子查询,是指在父查询的where条件语句中再插入一个子查询语句,连接查询都可以用子查询完成,反之不然。

嵌套查询的主要特点是sql允许从内到外进行多层嵌套分析,并将子查询的结果作为主查询的查询条件。连接是关系数据库模型的主要特征;多表查询可以通过连接运算符实现;连接操作给用户带来极大的灵活性,可以随时添加新的数据类型。​