MySQL之表、列別名及各類JOIN鏈接詳解

MySQL
在SQL中,合理的別名可讓SQL更容易以及可讀性更高。別名使用as來表示,能夠分爲表別名和列別名,別名應該是先定義後使用纔對,因此首先要了解sql的執行順序
(1) from
(2) on
(3) join
(4) where
(5) group by(開始可使用select的別名,後面的也行)
(6) avg,sum…
(7) having
(8) select
(9) distinct
(10) order by
注意:from是最早執行的,select是在having以後運行的
這裏有兩張表
sql

 

 

 1.1 列別名
SQL語句select id,name as colname from students;,結果爲.net

 

 

 

在這裏能夠看到咱們給 name 添加了一個別名,輸出後原表的 name 字段變爲如今的別名字段 colname;
1.2 表別名
SQL語句select stu.name,sc.score from students as stu,score as sc where stu.id=sc.id;,結果爲code

 

 

 咱們給表students起個別名stu,給score起個別名sc。blog

 

JOIN鏈接
2.1 inner join
以上面兩表爲例,下面鏈接上面的兩張表,匹配id相同的信息
SQL語句爲select a.id,a.name,a.subject,b.score from students a inner join score b on a.id=b.id;(on/where),結果是select

 

 INNER JOIN 的表關聯模型以下:im

 

 

綠色部分即爲兩張表關聯的部分。
2.2 left join
LEFT JOIN 與 INNER JOIN 有所不一樣,LEFT JOIN 會讀取左側數據表的所有數據,即便右側表中無對應數據。咱們將students表做爲左側表,score爲右側表
SQL語句select a.id,a.name,a.subject,b.score from students a left join score b on a.id=b.id;結果爲d3

 

由於兩張表的id均爲3,因此結果看起來和inner join效果同樣,其實否則,這裏重點將用法!!!
LEFT JOIN 的表關聯模型以下:數據

 

 

 上圖中綠色的部分,爲兩表的左關聯結果。db


原文連接:https://blog.csdn.net/sun_xiao_kai/article/details/88075501img

若有侵權,請當即聯繫我

相關文章
相關標籤/搜索