mysql之union

來源:互聯網
上載者:User

標籤:

今天來寫寫union的用法及一些需要注意的。

 union:聯合的意思,即把兩次或多次查詢結果合并起來。

 要求:兩次查詢的列數必須一致

 推薦:列的類型可以不一樣,但推薦查詢的每一列,想對應的類型以一樣

 可以來自多張表的資料:多次sql語句取出的列名可以不一致,此時以第一個sql語句的列名為準。

 如果不同的語句中取出的行,有完全相同(這裡表示的是每個列的值都相同),那麼union會將相同的行合并,最終只保留一行。也可以這樣理解,union會去掉重複的行。

如果不想去掉重複的行,可以使用union all。

 如果子句中有order by,limit,需用括弧()包起來。推薦放到所有子句之後,即對最終合并的結果來排序或篩選。

如:(select * from a order by id) union (select * from b order id);

在子句中,order by 需要配合limit使用才有意義。如果不配合limit使用,會被文法分析器最佳化分析時去除。

mysql之union

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.