1. 程式人生 > 其它 >資料庫基礎-MySql8.0(最終篇)--內連線和外連線

資料庫基礎-MySql8.0(最終篇)--內連線和外連線

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客戶端工具進行資料庫備份資料
-- 在修改,刪除資料前進行資料備份