MySQL - SQL關聯查詢
阿新 • • 發佈:2020-12-12
MySQL關聯查詢
- 注意:
- MySQL對大小寫不敏感
- Oracle對大小寫敏感(
預設大寫
)- 字串使用單引號
- MySQL關聯查詢
- 內連線
- 左外連線
- 右外連線
- 全外連線(
不支援
) - 自然連線
--MYSQL
CREATE DATABASE mydb_2;
use mydb_2;
CREATE TABLE employee(
`id` INT,
`name` VARCHAR(32),
`depid` INT
);
INSERT INTO employee VALUES(10001,"xiaoA",1);
INSERT INTO employee VALUES (10002,"xiaoB",2);
INSERT INTO employee VALUES(10003,"xiaoC",3);
INSERT INTO employee VALUES(10004,"xiaoD",NULL);
CREATETABLEdep(
`id` INT,
`depname` VARCHAR(32)
);
INSERTINTOdepVALUES(1,"軟體開發部")5,(2,"軟體測試部"),(3,"人力資源部"),(4,"財務管理部");
--INNER JOIN...ON...
SELECT * FROM employee e INNER JOIN dep d ON e.depid=d.id;
--LEFT OUTER JOIN...ON...
SELECT * FROM employee e LEFT OUTER JOIN dep d ON e.depid=d.id;
--RIGHT OUTER JOIN...ON...
SELECT * FROM employee e RIGHT OUTER JOIN dep d ON e.depid=d.id;
--FULL OUTER JOIN(MySQL中沒有全外連線,但是可以使用UNION結合左右外連線)
SELECT * FROM employee e LEFT OUTER JOIN dep d ON e.depid=d.id
UNION
SELECT * FROM employee e RIGHT OUTER JOIN dep d ON e.depid=d.id;
--NATURAL JOIN
--自動根據兩表相同欄位進行連線
ALTER TABLE dep CHANGE id depid INT;
SELECT * FROM employee NATURAL JOIN dep;