第3章 多表查询基本语法.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NEXT 主讲:韩淑云 之前的查询都是用一张表,如果用多张表,就是多表查询。 多表查询语法: 3.1 多表查询的基本语法 SELECT {DISTINCT} *|具体的列 别名 FROM 表名称1 别名1,表名称2 表2 {WHERE 条件(s)} {ORDER BY 列1 ASC|DESC ,列2 ASC|DESC ,…}; 范例1:下面使用了多表查询,同时查询emp和dept。 3.1 多表查询的基本语法 从查询结果可以发现,返回的数据是56条记录,而emp表有14条记录,dept表有4条记录。 范例2:查询emp表的记录数。 范例3:查询dept表中的记录数。 3.1 多表查询的基本语法 在多表查询时会产生笛卡尔积,记录数越多,笛卡尔积越大。 假设有5张表,每个表有10000条记录,那么笛卡尔积为100005。 因此,多表查询不建议过多使用。 要想去掉笛卡尔积,则必须使用关联操作。 3.1 多表查询的基本语法 在emp表中存在一个deptno字段,而且该字段的取值在dept表中的deptno字段值的范围内。 3.1 多表查询的基本语法 emp表中的deptno=dept表中的deptno,属于关联字段。 在多表查询中加入WHERE语句,就可以消除掉笛卡尔积。 范例4:修改范例1的查询操作。 3.1 多表查询的基本语法 3.1 多表查询的基本语法 如果表名称过长,可以为表设置别名。 3.1 多表查询的基本语法 范例5:查询操查询出雇员的编号、姓名、部门编号及部门位置。 3.1 多表查询的基本语法 3.1 多表查询的基本语法 范例6:要求查询出每个雇员的姓名、工作、雇员的直接上级领导的姓名。 emp表中的mgr字段表示雇员的上级领导的编号,则emp表与emp表关联。 3.1 多表查询的基本语法 3.1 多表查询的基本语法 范例7:要求查询出每个雇员的姓名、工作、雇员的直接上级领导的姓名、雇员所在部门。 部门名称是在dept表中定义的。 3.1 多表查询的基本语法 3.1 多表查询的基本语法 范例8:要求查询出每个雇员的姓名、工作、部门名称,工资在公司的等级(salgrade),及其领导的姓名及工资所在公司的等级。 先确定工资等级表的内容(查询salgrade表) SELECT * FROM salgrade; 3.1 多表查询的基本语法 分解:查询出每个雇员的姓名、工资、部门名称,工资在公司的等级(salgrade) select e.ename,e.sal,d.dname,s.grade from emp e,dept d,salgrade s where e.deptno=d.deptno and e.sal between s.losal and s.hisal; 3.1 多表查询的基本语法 3.1 多表查询的基本语法 再次分解:查询出其领导的姓名所在公司的等级。 select e.ename,e.sal,d.dname, s.grade,m.ename,m.sal from emp e,dept d,salgrade s, salgrade ms,emp m where e.deptno=d.deptno and e.sal between s.losal and s.hisal and e.mgr=m.empno and m.sal between ms.losal and ms.hisal; 3.1 多表查询的基本语法 3.1 多表查询的基本语法 进一步思考:现要求按照以下样式显示工资等级。 1——五等 2——四等 3——三等 4——二等 5——一等 3.1 多表查询的基本语法 3.1 多表查询的基本语法 范例9:查询出雇员编号、姓名、所在部门编号、名称和所在地。 3.2 左右连接 select e.empno,e.ename,d.deptno,d.dname,d.loc from emp e,dept d where e.deptno=d.deptno; 3.2 左右连接 3.2 左右连接 外部连接 运算符’(+)’只能放在连接条件表达式的一侧,即缺失相关连接信息表的一侧。它能返回该表中那些在另一个表中没有得到匹配的记录。 外部连接条件中不能使用in运算,也不能使用or运算。 select e.empno,e.ename,d.deptno,d.dname,d.loc from emp e,dept d where e.deptno(+)=d.deptno; 3.2 左右连接 3.2 左右连接 左右连接的应用 在实际开发中,左右连接应用广泛,如: 范例10:查询领导的编号、姓名及其带领雇员

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档