组合查询
一、簡介
組合查詢:MySQL允許執行多個查詢(多條SELECT語句),并將結果作為單個查詢結果集返回。
要使用組合查詢的兩種基本情況:在單個查詢中從不同的表返回類似結構的數據;對單個表執行多個查詢,按單個查詢返回數據。
可以用UNION操作符來組合數條SQL查詢。利用UNION,可給出多條SELECT語句,將它們的結果組合成單個結果集。
二、UNION規則
1、UNION必須由兩條或兩條以上的SELECT語句組成,語句之間用關鍵字UNION分割。
2、UNION中的每個查詢必須包含相同的列、表達式或聚集函數。
3、列數據類型必須兼容:類型不必完全相同,但必須是DBMS可以隱含地轉換的類型
三、包含或取消重復的行
UNION從查詢結果集中自動去除了重復的行(換句話說,它的行為與單條SELECT語句中使用多個WHERE子句條件一樣)。這是UNION默認的行為,如果需要,可以改變它。事實上,如果想要所有匹配行,可使用UNION ALL而不是UNION。
四、對組合查詢結果排序
再用UNION組合查詢時,只能使用一條ORDER BY子句,它必須出現在最后一條SELECT語句之后。對于結果集,不存在用一種方式排序一部分,而又用另一種方式排序另一部分的情況,因此不允許使用多條ORDER BY子句。雖然ORDER BY子句似乎只是最后一條SELECT語句的組成部分,但實際上MYSQL將用它來排序所有SELECT語句返回的所有結果。
轉載于:https://www.cnblogs.com/ACGame/p/10094326.html
總結
- 上一篇: webapi+ajax跨域问题及cook
- 下一篇: TCP/IP协议简介2