sambungan pertanyaan mysql
Pengenalan kepada MySQL Query Connection
Dalam pengurusan pangkalan data, sambungan pertanyaan adalah bahagian yang sangat penting. Sertai merujuk kepada proses penggabungan dua atau lebih jadual berdasarkan perhubungan antara mereka untuk melengkapkan pertanyaan data. Dalam MySQL, kita boleh melaksanakan sambungan pertanyaan dengan menggunakan pernyataan JOIN. Artikel ini akan memberikan pengenalan yang mendalam tentang penggunaan sambungan pertanyaan MySQL.
Klasifikasi sambungan pertanyaan MySQL
Sambungan pertanyaan MySQL terbahagi terutamanya kepada tiga kategori: sambung dalam, sambung luar dan sambung silang.
- INNER JOIN
Inner join bermakna terdapat hubungan yang sepadan antara rekod dalam dua atau lebih jadual Perhubungan ini boleh diwakili oleh kunci utama dan kunci asing . Inner bergabung dengan hasil pulangan dengan mengekalkan rekod yang sama. Iaitu, hasil pertanyaan akan dikembalikan hanya jika rekod yang sepadan wujud dalam kedua-dua jadual.
Sintaks cantuman dalam adalah seperti berikut:
PILIH col1, col2, ...
DARI jadual1
jadual JOIN DALAM2
PADA table1.column1 = table2. column2;
Antaranya, col1, col2, ... ialah lajur yang akan dikembalikan; jadual1 dan jadual2 ialah jadual untuk disoal, dan lajur1 dan lajur2 ialah lajur yang menghubungkan jadual. | satu jadual tidak mempunyai rekod yang sepadan daripada jadual yang lain.
- Cantum kiri: Cantuman kiri bermakna jadual kiri mengambil semua rekod, manakala jadual kanan hanya mengambil rekod yang sepadan. Jika tiada rekod yang sepadan antara jadual kiri dan jadual kanan, jadual kanan akan mengembalikan nilai NULL.
- Sintaks gabungan kiri adalah seperti berikut:
PILIH col1, col2, ...
DARI jadual1LEFT JOIN table2
ON table1.column1 = table2. column2;Cantum kanan: Cantuman kanan serupa dengan cantuman kiri, kecuali peranan jadual kiri dan jadual kanan diterbalikkan.
Sintaks cantuman kanan adalah seperti berikut:
PILIH col1, col2, ...
KANAN JOIN table2
PADA table1.column1 = table2. column2;Nota: Dalam MySQL, terdapat juga FULL OUTER JOIN untuk sambungan luar, tetapi MySQL tidak menyokongnya. Oleh itu, kita boleh mensimulasikan gabungan luar penuh melalui pernyataan UNION.
Cross join (CROSS JOIN)
Cantum silang merujuk kepada cantuman tanpa sebarang syarat cantum antara dua atau lebih jadual. Ringkasnya, cantuman silang membolehkan anda menanyakan semua kombinasi yang mungkin.
- Sintaks cantuman silang adalah seperti berikut:
- PILIH col1, col2, ...
CROSS JOIN table2;
Di mana, col1 , col2, ... ialah lajur yang akan dikembalikan; jadual1 dan jadual2 ialah jadual yang akan ditanya.
Contoh aplikasi sambungan pertanyaan MySQL
Sekarang marilah kita memahami penggunaan sambungan pertanyaan MySQL melalui beberapa contoh praktikal.
Contoh 1: Inner join
Andaikan kita mempunyai dua jadual pelajar dan kursus lajur dan kandungannya adalah seperti berikut:
jadual pelajar:
<.>jadual kursus:
Sekarang kita ingin menanyakan kursus yang dipilih oleh setiap pelajar, kita boleh menggunakan pernyataan SQL berikut: PILIH nama pelajar, nama_kursusid | name | age |
---|---|---|
1 | Jack | 18 |
2 | Tom | 19 |
3 | Jerry | 20 |
4 | Bob | 18 |
KURSUS JOIN DALAM
ON student.id = course.student_id;course_id | course_name | student_id |
---|---|---|
1 | Math | 1 |
2 | English | 2 |
3 | Science | 2 |
4 | History | 3 |
Pertanyaan ini akan mengembalikan hasil berikut:
Contoh 2: Sertai Kiri
Masih mengambil jadual pelajar dan jadual kursus di atas sebagai contoh, jika kita ingin menanyakan kursus yang dipilih oleh setiap pelajar, termasuk pelajar yang tidak memilih kursus. Anda boleh menggunakan pernyataan SQL berikut:
PILIH nama pelajar, nama_kursus.
DARI pelajarname | course_name |
---|---|
Jack | Math |
Tom | English |
Tom | Science |
Jerry | History |
PILIH student.id = course.student_id;
Pertanyaan akan mengembalikan hasil berikut:
Contoh 3: Sertai Kanan
Teruskan menggunakan jadual pelajar dan jadual kursus di atas sebagai contoh, jika kita ingin menanyakan pelajar setiap kursus, termasuk Pelajar yang belum memilih kursus ini. Anda boleh menggunakan pernyataan SQL berikut:
PILIH nama pelajar, nama_kursus.
DARI pelajarname | course_name |
---|---|
Jack | Math |
Tom | English |
Tom | Science |
Jerry | History |
Bob | NULL |
ON student.id = course.student_id;
Pertanyaan ini akan mengembalikan hasil berikut:
Contoh 4: Sambungan silang
Sambungan silang membolehkan anda menanyakan semua kombinasi yang mungkin Contohnya, kami mempunyai jadual yang mengandungi tiga elemen A, B dan C:
jadual1:
id | name |
---|---|
1 | A |
2 | B |
3 | C |
DARI jadual1 t1
CROSS JOIN table1 t2;
name | name |
---|---|
A | A |
A | B |
A | C |
B | A |
B | B |
B | C |
C | A |
C | B |
C | C |
Atas ialah kandungan terperinci sambungan pertanyaan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini membincangkan menggunakan pernyataan jadual Alter MySQL untuk mengubah suai jadual, termasuk menambah/menjatuhkan lajur, menamakan semula jadual/lajur, dan menukar jenis data lajur.

Artikel membincangkan mengkonfigurasi penyulitan SSL/TLS untuk MySQL, termasuk penjanaan sijil dan pengesahan. Isu utama menggunakan implikasi keselamatan sijil yang ditandatangani sendiri. [Kira-kira aksara: 159]

Artikel membincangkan strategi untuk mengendalikan dataset besar di MySQL, termasuk pembahagian, sharding, pengindeksan, dan pengoptimuman pertanyaan.

Artikel membincangkan alat MySQL GUI yang popular seperti MySQL Workbench dan PHPMyAdmin, membandingkan ciri dan kesesuaian mereka untuk pemula dan pengguna maju. [159 aksara]

Artikel ini membincangkan jadual menjatuhkan di MySQL menggunakan pernyataan Jadual Drop, menekankan langkah berjaga -jaga dan risiko. Ia menyoroti bahawa tindakan itu tidak dapat dipulihkan tanpa sandaran, memperincikan kaedah pemulihan dan bahaya persekitaran pengeluaran yang berpotensi.

Artikel ini membincangkan membuat indeks pada lajur JSON dalam pelbagai pangkalan data seperti PostgreSQL, MySQL, dan MongoDB untuk meningkatkan prestasi pertanyaan. Ia menerangkan sintaks dan faedah mengindeks laluan JSON tertentu, dan menyenaraikan sistem pangkalan data yang disokong.

Artikel membincangkan menggunakan kunci asing untuk mewakili hubungan dalam pangkalan data, memberi tumpuan kepada amalan terbaik, integriti data, dan perangkap umum untuk dielakkan.

Artikel membincangkan mendapatkan MySQL terhadap suntikan SQL dan serangan kekerasan menggunakan pernyataan yang disediakan, pengesahan input, dan dasar kata laluan yang kuat. (159 aksara)
