Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk melaksanakan pertanyaan berbilang jadual dalam MySQL?

Bagaimana untuk melaksanakan pertanyaan berbilang jadual dalam MySQL?

WBOY
WBOYasal
2023-07-30 17:03:321641semak imbas

Bagaimana untuk melaksanakan pertanyaan berbilang jadual dalam MySQL?

Dalam pertanyaan pangkalan data, pertanyaan berbilang jadual adalah keperluan biasa. Melalui pertanyaan berbilang jadual, kami boleh menyambung dan mengaitkan data dalam berbilang jadual untuk mendapatkan hasil pertanyaan yang lebih tepat dan komprehensif. MySQL menyediakan pelbagai cara untuk melaksanakan pertanyaan berbilang jadual, termasuk menggunakan pernyataan JOIN, subquery dan pertanyaan kesatuan. Artikel ini akan memperkenalkan cara melaksanakan pertanyaan berbilang jadual dalam MySQL, dengan contoh kod.

  1. Gunakan INNER JOIN untuk pertanyaan berbilang jadual
    INNER JOIN ialah salah satu kaedah pertanyaan berbilang jadual yang paling biasa dan biasa digunakan Ia mengembalikan rekod yang memenuhi syarat sambungan dengan menyambungkan medan berkaitan dua atau lebih jadual. Berikut ialah contoh:
SELECT 
    Orders.OrderID,
    Customers.CustomerName,
    Orders.OrderDate
FROM
    Orders
INNER JOIN
    Customers ON Orders.CustomerID = Customers.CustomerID;

Pertanyaan di atas akan mengembalikan rekod daripada jadual Pesanan dan jadual Pelanggan yang memenuhi syarat sambungan Hasil pertanyaan termasuk medan OrderID, Nama Pelanggan dan Tarikh Pesanan.

  1. Gunakan LEFT JOIN untuk pertanyaan berbilang jadual
    LEFT JOIN ialah kaedah pertanyaan berbilang jadual biasa Ia menggabungkan semua rekod dalam jadual kiri (jadual kiri) dengan rekod yang memenuhi syarat sambungan dalam jadual kanan (kanan. meja). Jika tiada rekod sepadan dalam jadual kanan, medan sepadan dalam jadual kiri akan memaparkan NULL. Berikut ialah contoh:
SELECT 
    Customers.CustomerName,
    Orders.OrderID
FROM
    Customers
LEFT JOIN
    Orders ON Customers.CustomerID = Orders.CustomerID;

Pertanyaan di atas akan mengembalikan semua rekod jadual Pelanggan dan memadankan rekod jadual Pesanan yang memenuhi syarat sambungan Hasil pertanyaan termasuk medan Nama Pelanggan dan ID Pesanan.

  1. Gunakan RIGHT JOIN untuk pertanyaan berbilang jadual
    RIGHT JOIN adalah bertentangan dengan LEFT JOIN Ia sepadan dengan semua rekod dalam jadual kanan (jadual kanan) dengan rekod dalam jadual kiri (jadual kiri) yang memenuhi syarat cantum. Jika tiada rekod sepadan dalam jadual kiri, medan sepadan dalam jadual kanan akan memaparkan NULL. Berikut ialah contoh:
SELECT 
    Orders.OrderID,
    Customers.CustomerName
FROM
    Orders
RIGHT JOIN
    Customers ON Orders.CustomerID = Customers.CustomerID;

Pertanyaan di atas akan mengembalikan semua rekod jadual Pesanan dan sepadan dengan rekod jadual Pelanggan yang memenuhi syarat sambungan Hasil pertanyaan termasuk medan OrderID dan Nama Pelanggan.

  1. Gunakan FULL OUTER JOIN untuk pertanyaan berbilang jadual
    FULL OUTER JOIN ialah kaedah pertanyaan yang menggabungkan LEFT JOIN dan RIGHT JOIN Ia mengembalikan semua rekod yang memenuhi syarat sambungan dan memaparkan rekod yang tidak memenuhi syarat sebagai NULL. Walau bagaimanapun, MySQL tidak secara langsung menyokong FULL OUTER JOIN, tetapi anda boleh menggunakan operator UNION untuk mencapai kesan yang sama. Berikut ialah contoh:
SELECT 
    Customers.CustomerName,
    Orders.OrderID
FROM
    Customers
LEFT JOIN
    Orders ON Customers.CustomerID = Orders.CustomerID
UNION
SELECT 
    Customers.CustomerName,
    Orders.OrderID
FROM
    Customers
RIGHT JOIN
    Orders ON Customers.CustomerID = Orders.CustomerID
WHERE
    Customers.CustomerID IS NULL;

Pertanyaan di atas akan mengembalikan semua rekod jadual Pelanggan dan rekod jadual Pesanan yang memenuhi syarat sambungan, dan memaparkan rekod yang tidak memenuhi syarat sebagai NULL.

Pertanyaan jadual berbilang adalah salah satu kemahiran penting dalam pertanyaan pangkalan data Dengan menggunakan operator dan syarat sambungan secara rasional, kami boleh melakukan pertanyaan berkaitan pada berbilang jadual mengikut keperluan sebenar dan memperoleh hasil yang tepat dan komprehensif. Saya harap artikel ini akan membantu anda memahami cara melaksanakan pertanyaan berbilang jadual dalam MySQL.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pertanyaan berbilang jadual dalam MySQL?. 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