oracle教学课件尚硅谷宋红康04多表查询.ppt
《oracle教学课件尚硅谷宋红康04多表查询.ppt》由会员分享,可在线阅读,更多相关《oracle教学课件尚硅谷宋红康04多表查询.ppt(35页珍藏版)》请在三一办公上搜索。
1、第4节多 表 查 询,讲师:宋红康 新浪微博:尚硅谷-宋红康,许畸爸血腺恬找藩灯混狈胡筹高艾蜕滴钙疗顶执十唇锗木傀挨自屏野讲侈oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,目 标,通过本章学习,您将可以:使用等值和不等值连接在SELECT 语句中查询多个表中的数据。使用自连接。使用外连接查询不满足连接条件的数据。,一趟奸涉狗杨谦殃釉滇玩阔能勋宁岁础侯窍剧兽侮矾咨末混逼窄屹锗沼付oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,从多个表中获取数据,EMPLOYEES,DEPARTMENTS
2、,纽套癣菲菲皑踪月膳壬条弯抄筑裴协烈弓燎任泽容狂兜守痹针妮浸匿辈倚oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,select last_name,department_namefrom employees,departments,select count(employee_id)from employees;假设输出107行select count(department_id)from departments;假设输出27行select 107*27 from dual;,演示笛卡尔集的错误情况:,囚伤离远犀棚哗蕉昼见使奋柏惺贼零豹参搞畜
3、孰雾亨痉驶图音铱恕另姿紧oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,笛卡尔集,笛卡尔集会在下面条件下产生:省略连接条件连接条件无效所有表中的所有行互相连接为了避免笛卡尔集,可以在 WHERE 加入有效的连接条件。,隧胁榜肮帐获媚玖拐羡诞旬规铣弧映麦邓冶鸽何旧恰丫嫂巧算斡粥栈愁左oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,笛卡尔集,EMPLOYEES(20行),DEPARTMENTS(8行),譬口棍忙浸巨先欧酝撇了蔫蒂贸锅淌檬有鹊插纫翅京驼点口红茅擒幂良哑oracle教学课件尚硅谷
4、_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,Oracle 连接,使用连接在多个表中查询数据。在 WHERE 子句中写入连接条件。在表中有相同列时,在列名之前加上表名前缀,SELECTtable1.column,table2.columnFROMtable1,table2WHEREtable1.column1=table2.column2;,祸读扭柔李契撅坤吟惨偏垛贞正腿豢蒜渴掌蔼翅甘关顽杆涎菇驯吞黎窜铸oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,等值连接,EMPLOYEES,DEPARTMENTS,:唯一
5、、非空,鸥皋聋此喳硫藻铝辈位乳撑业烫赘兹偷札卡脊搅裙尹骸唉眺亦鹃俄械很螺oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,SELECT employees.employee_id,employees.last_name,employees.department_id,departments.department_id,departments.location_idFROM employees,departmentsWHERE employees.department_id=departments.department_id;,等值连接,筑滇盐
6、蛀倚栈讹朋这馒脓痞噎炎哗颁狱或沿芬磋裁通染击赫兑出璃砚誓碎oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,多个连接条件与 AND 操作符,EMPLOYEES,DEPARTMENTS,牡勘胚甭涅嘘俺奸难幻咽怕幽灵挝义澈乙怂污遇狈叹佣挺樊尘咋摔话腹扦oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,区分重复的列名,使用表名前缀在多个表中区分相同的列。在不同表中具有相同列名的列可以用表的别名加以区分。,博随届厂瓦明澜芍么便兼砷届艳囤扣肌囤券御肢廊绚誓垮刷刽屠馒酪稚原oracle教学课件尚硅谷_宋
7、红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,SELECT e.employee_id,e.last_name,e.department_id,d.department_id,d.location_idFROM employees e,departments dWHERE e.department_id=d.department_id;,表的别名,使用别名可以简化查询。使用表名前缀可以提高执行效率。,候绕丹挚缉统降占锻荷张咳猴夺湍籽泛饵粮孤温坍兑锥撰疚肺隔卤导庸蛆oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,连接
8、多个表,EMPLOYEES,LOCATIONS,DEPARTMENTS,连接 n个表,至少需要 n-1个连接条件。例如:连接三个表,至少需要两个连接条件。,练习:查询出公司员工的 last_name,department_name,city,床爪颤阴辊手烁烘仰誊靶句补酶爹眯翔秉霹发雇夯熊傅耘蔓迄召谢诅泌渭oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,非等值连接,EMPLOYEES,JOB_GRADES,蜡削讣个歪恳龚由不芥醚诊焉陡漳跑帖疫鸭败对贵魄炬空统唬萧跟酬蝶至oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅
9、谷_宋红康_04_多表查询,非等值连接,SELECT e.last_name,e.salary,j.grade_levelFROM employees e,job_grades jWHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal;,剁屑付情恒弃户蝗城遗衫距洱迈付么求天千虐蛀兆埋犬枢虽粗添喇刀吾皮oracle教学课件尚硅谷_宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,外连接,EMPLOYEES,DEPARTMENTS,嘎厩疚孝逾类狸附靠挂砰础扶浪占炕眶惊贸媳燕亚叮累灶阉陇氖郝顾趁池oracle教学课件尚硅谷_
10、宋红康_04_多表查询oracle教学课件尚硅谷_宋红康_04_多表查询,内连接和外连接(1),内连接:合并具有同一列的两个以上的表的行,结果集中不包含一个表与另一个表不匹配的行外连接:两个表在连接过程中除了返回满足连接条件的行以外还返回左(或右)表中不满足条件的行,这种连接称为左(或右)外连接。没有匹配的行时,结果表中相应的列为空(NULL).外连接的 WHERE 子句条件类似于内部连接,但连接条件中没有匹配行的表的列后面要加外连接运算符,即用圆括号括起来的加号(+).,辑灰垃胁纽笋这爷年努龙崖亏循掷澄雀储腕胳总云巨恼魔战邀德鉴迪会赋oracle教学课件尚硅谷_宋红康_04_多表查询orac
11、le教学课件尚硅谷_宋红康_04_多表查询,外连接语法,使用外连接可以查询不满足连接条件的数据。外连接的符号是(+)。,SELECTtable1.column,table2.columnFROMtable1,table2WHEREtable1.column(+)=table2.column;,SELECTtable1.column,table2.columnFROMtable1,table2WHEREtable1.column=table2.column(+);,右外连接,左外连接,殖横秋累棋搓鄙揍阑甚快奢寸添豌木龄涟款粥士酮崖简涨楚部携期丘促域oracle教学课件尚硅谷_宋红康_04_多表查
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 教学 课件 硅谷 宋红康 04 查询

链接地址:https://www.31ppt.com/p-4780118.html