mysql語句解析 Mysql join語句解析

2021-10-20 23:30:30 字數 908 閱讀 8903

標籤:

1. 右連線(right join, right outer join)

解釋:以右表(sys_employee)為準,而左表(sys_department)中的記錄只有當其departmentid在右表中存在時才會查詢出來;

2. 左連線(left join, left outer join)

解釋:以左表(sys_department)為準,而右表(sys_employee)中的記錄只有當其departmentid在左表中存在時才會查詢出來;

3. 全連線(full join, full outer join)

解釋:兩個表中departmentid的並集(u)記錄;

4. 內連線(join, inner join)

解釋:兩個表中departmentid的交集(n)記錄;

5. 交叉連線(cross join,完全連線)

解釋:沒有where子句的交叉連線,它返回被連線的兩個表所有資料行的笛卡爾積,返回結果集合中的資料行數等於第乙個表中符合查詢條件的資料行數乘以第二個表中符合查詢條件的資料行數。

6. 自連線(self join)

解釋:使用自連線可以將自身表的乙個映象當作另乙個表來對待;

例如:資料庫中有如下乙個部門結構表

下面我們需要將每乙個部門自己的名稱和上級部門的名稱都找出來。

如果有兩張表,乙個部門表,乙個上級部門表,那很好寫sql語句;

但現在部門和上級部門都在一張表中,這種情況用自連線就比較好。

sql語句及查詢結果如下:

這裡我們注意到研發部沒有出現在部門列表中,是因為在這裡研發部是最上級部門,它沒有上級部門。如果這時候我們希望研發部也出現在左側,即使它沒有上級部門。

我們可以結合左連線

sql語句及查詢結果如下:

標籤:

if語句解析

if 語句格式 if 條件 then command else command fi 別忘了這個結尾 if語句忘了結尾fi test.sh line 14 syntax error unexpected end of fi if 的三種條件表示式 ifcommand then if 函式then 命...

mysql支援語句 mysql語句

delete 刪除資料表中的行 可以刪除某一行,也可以在不刪除資料表的情況下刪除所有行 刪除某一行 delete from 資料表名稱 where 列名稱 值 刪除所有行 delete from 資料表名稱 drop 刪除資料表或資料庫,或刪除資料表字段。刪除資料庫 drop database 資料...

MySQL語句執行順序和編寫順序例項解析

select語句完整語法 select distinct from join on where 程式設計客棧here condition group by h ing 程式設計客棧 order by limit 執行順序 from join on where group by h ing selec...