Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memilih Data dengan Cekap daripada Berbilang Jadual MySQL dengan Struktur Yang Sama?

Bagaimana untuk Memilih Data dengan Cekap daripada Berbilang Jadual MySQL dengan Struktur Yang Sama?

Barbara Streisand
Barbara Streisandasal
2025-01-04 12:10:35952semak imbas

How to Efficiently Select Data from Multiple MySQL Tables with Identical Structures?

MySQL: Memilih Data daripada Berbilang Jadual dengan Struktur Serupa tetapi Data Berbeza

Apabila menguruskan set data yang besar, selalunya perlu menyimpan data dalam berbilang jadual dengan skema yang sama untuk tujuan penyetempatan atau pembahagian. Walau bagaimanapun, mengekstrak data daripada berbilang jadual sambil mengekalkan susunan isihan tertentu boleh menimbulkan cabaran.

Masalah: Ralat Lajur Ambiguous dalam Klausa WHERE

Pertimbangkan pernyataan MySQL berikut:

SELECT * from us_music, de_music where `genre` = 'punk'

Pertanyaan ini cuba untuk menggabungkan data daripada dua jadual, us_music dan de_music, berdasarkan lajur genre, yang wujud dalam kedua-dua jadual. Walau bagaimanapun, MySQL mengembalikan ralat berikut:

#1052 - Column 'genre' in where clause is ambiguous

Penyelesaian: Menggunakan Klausa UNION

Untuk menyelesaikan kekaburan, anda boleh menggunakan klausa UNION. Klausa UNION menggabungkan hasil penyataan SELECT berbilang ke dalam set hasil tunggal. Begini cara untuk menggunakannya dalam kes ini:

(SELECT * from us_music where `genre` = 'punk')
UNION
(SELECT * from de_music where `genre` = 'punk')

Pertanyaan ini mula-mula memilih data daripada us_music dengan genre sama dengan 'punk', kemudian ia melakukan operasi yang sama pada de_music. Keputusan kedua-dua pernyataan SELECT kemudiannya digabungkan menjadi satu set hasil tunggal.

Isih Hasil Gabungan

Setelah data digabungkan, anda boleh menentukan susunan isihan mengikut menambah klausa ORDER BY selepas pernyataan UNION:

(SELECT * from us_music where `genre` = 'punk')
UNION
(SELECT * from de_music where `genre` = 'punk')
ORDER BY `band_name`

Pertanyaan ini akan menggabungkan data daripada kedua-dua jadual dan mengisih hasil berdasarkan lajur nama_jalur.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Data dengan Cekap daripada Berbilang Jadual MySQL dengan Struktur Yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn