PHP ialah bahasa back-end yang sangat popular yang boleh menggunakan pernyataan pertanyaan yang berkaitan untuk menanyakan data daripada berbilang jadual dan menggabungkannya bersama-sama. Artikel ini akan memperkenalkan anda kepada konsep pernyataan pertanyaan berkaitan dan cara menulis pernyataan pertanyaan berkaitan menggunakan PHP.
1. Apakah pertanyaan berkaitan?
Pertanyaan bersekutu ialah kaedah pertanyaan yang menanyakan data dalam berbilang jadual dan menggabungkannya ke dalam set hasil. Menggunakan pertanyaan berkaitan, pembangun boleh mendapatkan semula rekod dengan cekap untuk merujuk dan menganalisis data antara jadual berkaitan yang berbeza.
Dalam pertanyaan berkaitan, berbilang jadual boleh disambungkan melalui nilai biasa, yang boleh menjadi kunci utama, kunci asing atau nilai lain yang berkaitan. Melalui pertanyaan berkaitan, data dalam setiap jadual boleh disambungkan, menjadikan keputusan pertanyaan lebih fleksibel dan lengkap.
2. Pernyataan pertanyaan berkaitan dalam PHP
Dalam PHP, kita boleh menggunakan pernyataan SQL untuk melaksanakan pertanyaan berkaitan. Sintaks asas pernyataan SQL adalah seperti berikut:
SELECT column_name(s) FROM table1 JOIN table2 ON table1.column_name = table2.column_name;
Dalam pernyataan ini, column_name(s) ialah lajur yang anda ingin dapatkan, table1 dan table2 ialah jadual yang anda ingin sambungkan dan sambungan keadaan adalah dalam ON sub- dinyatakan dalam ayat.
di mana JOIN ialah jenis sambungan, terdapat jenis berikut:
Mari kita lihat beberapa contoh khusus:
Contoh 1: Dua pertanyaan sambungan jadual
Andaikan kita mempunyai dua jadual, satu ialah "pengguna" jadual dan satu lagi Dalam jadual "pesanan", kami ingin mengetahui bilangan pesanan yang dibuat oleh setiap pengguna. Anda boleh menggunakan pernyataan pertanyaan SQL berikut:
SELECT users.id, users.name, COUNT(orders.order_id) AS order_count FROM users LEFT JOIN orders ON users.id = orders.user_id GROUP BY users.name ORDER BY order_count DESC;
Pernyataan pertanyaan SQL ini menggunakan LEFT JOIN untuk menyambungkan jadual "pengguna" dan jadual "pesanan". Kemudian gunakan data GROUP BY yang sepadan untuk mengumpulkan, gunakan COUNT untuk mengira bilangan pesanan pengguna, dan akhirnya mengisih mengikut bilangan pesanan.
Contoh 2: Tiga pertanyaan sambungan jadual
Sebagai contoh lain, katakan kita mempunyai tiga jadual, iaitu "pengguna", "pesanan" dan "perincian_pesanan". amaun setiap pengguna dalam jadual "pengguna". Anda boleh menggunakan pernyataan SQL berikut:
SELECT u.id, u.name, SUM(od.price * od.quantity) AS total_price FROM users u LEFT JOIN orders o ON u.id = o.user_id LEFT JOIN order_details od ON o.order_id = od.order_id GROUP BY u.name
Pernyataan pertanyaan SQL ini menggunakan dua LEFT JOIN untuk menyambungkan tiga jadual. Kemudian gunakan GROUP BY untuk mengumpulkan data yang sepadan, gunakan SUM untuk mengira jumlah pesanan dan mengisih mengikut nama pengguna.
3. Kesimpulan
Pertanyaan bersekutu ialah cara yang berkesan untuk menanyakan data dalam berbilang jadual, dan ia juga merupakan salah satu kemahiran yang mesti dikuasai oleh pembangun web. Artikel ini memperkenalkan secara ringkas konsep dan penggunaan pernyataan pertanyaan yang berkaitan Dalam pembangunan sebenar, pembangun juga perlu mengoptimumkan dan menyesuaikan berdasarkan senario tertentu untuk memenuhi keperluan projek dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk menulis pernyataan pertanyaan berkaitan menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!