Mysql表并联_SQL多表查询 表联结
一、表的加法
union
將表按照行加起來,如無特殊要求會自動刪除重復數據
union all 保留全部的行
二、表的聯結
表之間通過列產生關系,并聯結在一起 jion聯結
1.交叉聯結 又稱笛卡爾積 cross jion
表中的每一行分別與另一個表中的每一行聯結起來
表1 m行 表2 n行 則交叉聯結表有m*n行
2.內聯結 inner jion
以查找出同時存在于兩張表中的數據為準
3. 左聯結 left join
以左表為主表,以左表的數據為主
4.右聯結 right join
以右表為主,全部取出右表對應的數據
5.全聯結 full join
返回左右兩個表中所有行
能匹配的合并,不能匹配的用null填充
MySQL不支持全聯結
若要求某張表的數據,即以某張表的數據為準,采用左聯結/右聯結;
要求以兩張表的公共部分為準時,采用內聯結
三、聯結的業務問題
比如3張表聯結 多個join兩兩聯結
四、case表達式
條件判斷函數
case when then
...
else
end
每次運行只返回一個結果
注意:
else子句可省略,但是養成好習慣
case表達式可用于任意位置
end不能省略
需要條件判斷時,使用case 表達式
典型例子:自定義分組
group by用多個列來分組時,這幾個列的值全部相同才算一組
因此,只有一一對應的列名才能多個列分組而沒有額外影響
在需要分組時,select 里的列名只能是group by子句里的列名
五、總結
總結
以上是生活随笔為你收集整理的Mysql表并联_SQL多表查询 表联结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql自动提交 dcl语句_MySQ
- 下一篇: python写游戏棋牌游戏_使用pyth