Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyertai Berbilang Jadual dengan Cekap dalam MySQL untuk Mendapatkan Data Berkaitan?
Menyertai Berbilang Jadual dalam MySQL Menggunakan Inner Join
Dalam MySQL, pernyataan INNER JOIN membenarkan anda untuk menggabungkan rekod daripada berbilang jadual berdasarkan lajur biasa. Untuk melaksanakan gabungan berbilang jadual, anda boleh menggunakan sintaks berikut:
SELECT columns FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column [...] INNER JOIN table_n ON table_n-1.column = table_n.column;
Pertimbangkan senario berikut: anda mempunyai empat jadual:
Anda mahu mendapatkan semula semua produk untuk pengguna tertentu (user_id = 7) dan hiperpautan untuk setiap produk menggunakan URL yang sepadan daripada jadual penyenaraian.
Asal Pertanyaan:
SELECT * FROM orders INNER JOIN products_pricing ON orders.pricing_id = products_pricing.id INNER JOIN products ON products_pricing.product_id = products.id WHERE orders.user_id = '7';
Pertanyaan ini akan mengembalikan semua produk untuk pengguna dengan ID 7, tetapi ia tidak akan menyertakan URL bagi setiap produk.
Pertanyaan Semakan:
Untuk menyertakan URL bagi setiap produk, anda boleh menambah satu lagi INNER JOIN pada jadual penyenaraian:
SELECT p.id, p.name, l.url, o.user_id, o.pricing_id FROM orders AS o INNER JOIN products_pricing AS pp ON o.pricing_id = pp.id INNER JOIN products AS p ON pp.product_id = p.id INNER JOIN listings AS l ON l.user_id = o.user_id WHERE o.user_id ='7' AND l.id = 233 AND l.url = 'test.com';
Dalam pertanyaan ini, kami mempunyai:
Dengan menggunakan pertanyaan yang disemak ini, anda boleh berjaya mendapatkan semula produk untuk pengguna yang ditentukan, bersama-sama dengan URL yang sepadan untuk memautkannya.
Atas ialah kandungan terperinci Bagaimana untuk Menyertai Berbilang Jadual dengan Cekap dalam MySQL untuk Mendapatkan Data Berkaitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!