-- 外連線
/* 應用場景: 用於查詢乙個表中有,另乙個表中沒有的記錄
特點:1、外連線的查詢結果為主表中的所有記錄
如果從表中有和主表匹配的,則顯示匹配的值
如果從表中沒有和主表匹配的,則顯示null
外連線查詢的結果=內鏈結結果+主表中有而從表中沒有的記錄
2、左外連線:left join 左邊的是主表
右外連線:right join 右邊的是主表
3、左外和右外交換兩表的順序可以實現同樣的效果
*/-- ;案例:查詢男朋友不在男神錶中的女神名
-- 左外連線實現 (outer 可省略)
select be.name,bo.
*from beauty be
left
outer
join boys bo
on be.boyfriend_id=bo.id
where bo.id is
null
;-- 右外連線實現
select be.name,bo.
*from boys bo
right
outer
join beauty be
on be.boyfriend_id=bo.id
where bo.id is
null
;-- 案例: 查詢哪個部門沒有員工
-- 左外
select d.
*,employee_id
from departments d
left
outer
join employees e
on d.department_id=e.department_id
where employee_id is
null
;-- 左外
select d.
*,employee_id
from employees e
right
join departments d
on d.department_id=e.department_id
where employee_id is
null
;/*全外連線(mysql中不支援)
語法: use girls
select be.*,bo.*
from beauty be
full outer join boys bo
on be.boyfriend_id=bo.id;
*/
Mysql連表查詢(內連線 外連線)
建立兩張 並分別插入資料 create table ifnot exists left table id int auto increment,age int,name varchar 20 primary key id engine innodb default charset utf8 auto...
13 連線查詢
假設 a 表中有3條記錄,b表中有 4 條記錄 那麼,語句select from a,b 會將a,b兩張表的資料交叉拼接起來,形成 3 4 12 條記錄的結果集,此結果集叫做笛卡爾積。ora 00918 未明確定義列 改進辦法 明確列的所屬 select empno,ename,emp.deptno...
004 連線查詢
再大多數的情況下,我們都需要進行連線查詢.笛卡爾積的產生 這個就是多表查詢的的最初結果集,那麼以後我們需要作的就是從結果集中篩選出需要的結果集.篩選的方式不同,導致sql的效率不同.篩選的方式就是加入連線標準.等值連線 select 字段 from 表1 表2 where 連線條件.eg 查詢員工名...