資料庫基礎-MySql8.0(最終篇)--內連線和外連線
阿新 • • 發佈:2021-12-06
MySql8.0對多表設計的補充
內連線
等值連線
-- 等值連線
-- 語法 select 結果 from 表1 inner join 表2 on 連線條件
SELECT s.num,s.name,s.sex,g.name
FROM student s
INNER JOIN grade g
ON s.num = g.id
-- 寫法二
SELECT s.num,s.name,s.sex,g.name
FROM student s,grade g
WHERE s.num = g.id
非等值連線
-- 非等值連線 CREATE TABLE score_level( NAME VARCHAR(1), lower_score INT, upper_score INT ) SELECT s.num,s.name,sl.name FROM student s INNER JOIN score_level sl ON s.score BETWEEN sl.lower_score AND sl.upper_score
自連線
-- 自連線
CREATE TABLE t_area(
id INT,
NAME VARCHAR(20),
pid INT
)
SELECT t1.id,t1.name,t2.id,t2.name
FROM t_area t1
INNER JOIN t_area t2
ON t1.pid = t2.id
外連線
左外連線
-- 左外連線(以左邊的表為中心查詢,無論條件是否滿足都會將左邊資料查詢出來) -- 學號,姓名,性別,年級名次 SELECT s.num,s.name,s.sex,g.name FROM student s LEFT JOIN grade g ON s.grade = g.id
右外連線
-- 右外連線 學號,姓名,性別,年級名次
SELECT s.num,s.name,s.sex,g.name
FROM student s
RIGHT JOIN grade g
ON s.grade = g.id
-- 使用sqlyog客戶端工具進行資料庫備份資料
-- 在修改,刪除資料前進行資料備份