Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memesan Keputusan daripada Berbilang Pertanyaan SQL UNIONed?
Isih Hasil daripada Gabungan Pertanyaan SQL menggunakan UNION
Apabila menggunakan UNION
dalam SQL untuk menggabungkan hasil daripada berbilang SELECT
pernyataan, anda mungkin perlu mengisih output akhir. Memahami cara pesanan berfungsi dengan UNION
adalah penting.
Pertimbangkan contoh ini:
<code class="language-sql">SELECT id, name, age FROM Student WHERE age < 20 UNION SELECT id, name, age FROM Student WHERE age > 30;</code>
Hanya menambah klausa ORDER BY
pada setiap individu SELECT
pernyataan tidak akan memerintahkan hasil gabungan terakhir. Fasal ORDER BY
dalam setiap subkueri hanya berkaitan dengan hasil subkueri khusus itu sebelum ia digabungkan.
Untuk mengisih set hasil gabungan dengan betul, letakkan klausa ORDER BY
selepas pernyataan akhir UNION
:
<code class="language-sql">SELECT id, name, age FROM Student WHERE age < 20 UNION SELECT id, name, age FROM Student WHERE age > 30 ORDER BY name;</code>
Dalam pertanyaan yang disemak ini, klausa ORDER BY name
digunakan pada keseluruhan set data yang dihasilkan oleh operasi UNION
. Hasil gabungan dianggap sebagai satu jadual, dan kemudian diisih mengikut abjad mengikut lajur name
. Ini memastikan pesanan yang betul tanpa mengira subkueri asal yang menyumbang data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memesan Keputusan daripada Berbilang Pertanyaan SQL UNIONed?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!