没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
8页
数据查询2—连接查询:同时涉及两个以上的表的查询 连接条件:用来连接两个表的条件 [.] [.] 连接字段:连接条件中的列名称(注意:连接字段类型必须是可比的,但名字不必相同) 连接查询—(1)等值与非等值连接查询:等值连接:连接运算符为=(对比关系代数中的等值连接) 【例3.49】查询每个学生及其选修课程的情况. SELECT Student.*,SC.* FROM Student,SC WHERE Student.Sno=SC.Sno; 从两个表中查询,需要先用笛卡尔积将两个表连接起来,连接之后再找出符合条件相等的。 【思考】:如何用SQL表达笛卡尔积×? SELECT Stu
资源推荐
资源详情
资源评论
数据库作业数据库作业7::SQL练习练习4 – SELECT(连接查询、嵌套查询)(连接查询、嵌套查询)
数据查询数据查询2—连接查询连接查询:同时涉及两个以上的表的查询同时涉及两个以上的表的查询
连接条件:用来连接两个表的条件连接条件:用来连接两个表的条件
[.] [.] 连接字段:连接条件中的列名称连接字段:连接条件中的列名称(注意:连接字段类型必须是可比的,但名字不必相同注意:连接字段类型必须是可比的,但名字不必相同)
连接查询连接查询—(1)等值与非等值连接查询等值与非等值连接查询:等值连接:连接运算符为等值连接:连接运算符为=(对比关系代数中的等值连接)(对比关系代数中的等值连接)
【例3.49】查询每个学生及其选修课程的情况.
SELECT Student.*,SC.*
FROM Student,SC
WHERE Student.Sno=SC.Sno;
从两个表中查询,需要先用笛卡尔积将两个表连接起来,连接之后再找出符合条件相等的。
【思考】:如何用SQL表达笛卡尔积×?
SELECT Student.*,SC.*
FROM Student,SC;
不写条件时就是笛卡尔积,将两个表连接起来,形成一个25行,8列的大表
【拓展1】非等值连接:连接形成的表减去等值连接形成的表
SELECT Student.*,SC.*
FROM Student,SC
WHERE Student.Sno!=SC.Sno;
【拓展2】自然连接:去掉重复的列,查询内容需要依次列出.注意:对于重复的列需要用表名指定属性名,不重复的列的属性
名可以不用表名限制。
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student,SC
WHERE Student.Sno=SC.Sno;
【拓展3】对于查询两个表的所有内容也可以写成下面这种形式,更加简单:
SELECT *
FROM Student,SC
WHERE Student.Sno=SC.Sno;
【拓展4】连接操作的执行过程:
(1)嵌套循环法:在表1中找到第一个元组,然后从头扫描表2找到满足条件的元组,再将这两个元组连接起来,待表2全部
扫描后,按照此流程依次完成表1的其他元组的操作。(表2每次都需要从头扫描)
(2)排序合并法:首先将表1 和表2排序,使之有规律。对表1的第一个元组,开始从头扫描顺序查找满足条件的元组,找到后
将两个元组连接起来。当遇到表2中第一条大于表1连接字段值的元组时,对表2的查询不再继续.找到表1的第二条元组,然后
weixin_38562079
- 粉丝: 10
- 资源: 865
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页