Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mendapatkan Data Produk dengan Cekap daripada Berbilang Jadual MySQL Menggunakan Inner Joins?

Bagaimanakah Saya Boleh Mendapatkan Data Produk dengan Cekap daripada Berbilang Jadual MySQL Menggunakan Inner Joins?

Linda Hamilton
Linda Hamiltonasal
2024-12-25 03:02:10125semak imbas

How Can I Efficiently Retrieve Product Data from Multiple MySQL Tables Using Inner Joins?

Pertanyaan Sertai Dalaman MySQL untuk Memautkan Berbilang Jadual

Apabila bekerja dengan pangkalan data hubungan seperti MySQL, selalunya perlu mengambil data daripada berbilang jadual berdasarkan kriteria tertentu. Cantuman dalaman ialah alat berkuasa yang membolehkan anda mewujudkan hubungan antara jadual dan hasil penapisan mengikut nilai yang sepadan.

Dalam kes ini, objektifnya ialah untuk menyertai empat jadual: "pesanan," "harga_produk," "produk ," dan "penyenaraian." Matlamatnya ialah untuk mendapatkan semula semua produk yang dikaitkan dengan pengguna tertentu dan URL sepadan mereka daripada jadual "penyenaraian".

Pertanyaan SQL yang disediakan cuba melakukan gabungan tetapi gagal menapis keputusan dengan betul, membawa kepada kemasukan data yang tidak diingini. Untuk menangani isu ini, pertanyaan SQL yang dioptimumkan berikut boleh digunakan:

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';

Dengan menambahkan kriteria penapisan tambahan pada klausa WHERE, pertanyaan yang diubah suai ini memastikan bahawa hanya baris digabungkan dengan ID pengguna ialah '7' , ID penyenaraian ialah '233' dan URL ialah 'test.com'.

Pertanyaan ini menghasilkan output yang diingini, termasuk produk ID, nama produk, URL untuk produk, ID pengguna dan ID harga. Ini membolehkan set hasil yang lebih halus yang menggambarkan dengan tepat perhubungan data yang dimaksudkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Data Produk dengan Cekap daripada Berbilang Jadual MySQL Menggunakan Inner Joins?. 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