mysql也允許執行多個查詢(多條select語句),並將結果作為單個查詢結果集返回。這些組合查詢通常稱為並(union)或復合查詢(compound query)。
有兩種基本情況,其中需要使用組合查詢:
在單個查詢中從不同的表返回類似結構的資料;
對單個表執行多個查詢,按單個查詢返回資料。
可用union操作符來組合數條sql查詢。
17.2.2 union規則
union必須由兩條或兩條以上的select語句組成,語句之間用關鍵字union分隔。
union中的每個查詢必須包含相同的列、表示式或聚集函式。
列資料型別必須相容:型別不必完全相同,但必須是dbms可以隱含地轉換的型別。
17.2.3 包含或取消重複的行
union從查詢結果集中自動去除了重複的行(換句話說,它的行為與單條select語句中使用多個where子句條件一樣)
這是union的預設行為,但是如果需要,可以改變它。事實上,如果想返回所有匹配行,可使用union all而不是union。
17.2.4 對組合查詢結果排序
select語句的輸出用order by子句排序。在用union組合查詢時,只能使用一條order by子句,它必須出現在最後一條select語句之後。於結果集,不存在用一種方式排序一部分,而又用另一種方式排序另一部分的情況,因此不允許使用多條order by子句。
mysql索引的建立和查詢語句優化
300w條的模擬資料 並且沒有建立任何索引 以id查詢的 4秒多 以email查詢的 4秒多 建立後再查詢 以id查不到1秒,所以索引要建立正確且查詢條件得適合 create index email index on s1 email 建立後查詢 瞬間快了非常多 建立索引為了提高查詢的效率,建立正確...
mysql 組合查詢 mysql組合查詢
使用union 多數sql查詢都只包含乙個或多個表中返回資料的單條select語句。mysql也允許執行多個查詢 多條select語句 並將結果作為單個查詢結果集返回。這些組合查詢通常稱為並 union 有兩種情況需要使用組合查詢 在單個表查詢中從不同的表返回類似結構的資料 對單個表執行多個查詢,按...
關於列舉的建立和使用
列舉簡單的說也是一種資料型別,只不過是這種資料型別只包含自定義的特定資料,它是一組有共同特性的資料的集合。舉個例子,顏色也可以定義成列舉型別,它可以包含你定義的任何顏色,當需要的時候,只需要通過列舉呼叫即可,另外比如說季節 春夏秋冬 星期 星期一到星期日 等等這些具有共同投特徵的資料都可以定義列舉。...