Rumah > Artikel > pangkalan data > Adakah MySQL JOIN lalai kepada LEFT JOIN?
Apabila membina pertanyaan pangkalan data, adalah penting untuk memahami perbezaan asas antara JOIN dan LEFT JOIN.
Dalam pertanyaan yang diberikan, anda telah menghadapi masalah apabila menggantikan INNER JOIN dengan LEFT JOIN. Ini menimbulkan persoalan: adakah diandaikan bahawa JOIN tanpa jenis yang ditentukan lalai untuk LEFT JOIN?
Tidak, ia tidak begitu.
Secara lalai, MySQL melakukan INNER JOIN, yang merangkumi hanya baris yang sepadan dalam kedua-dua jadual. Sebaliknya, LEFT JOIN mengekalkan semua baris dari jadual kiri (dalam kes anda, DM_Server.Jobs), walaupun mereka tidak mempunyai padanan yang sepadan dalam jadual yang betul.
Untuk menggambarkan perbezaan ini, mari kita pertimbangkan perkara berikut:
Untuk penjelasan visual yang lebih komprehensif:
SERTAI DALAM:
Jobs Servers | Jobs_ID | ServerID | |---------|----------| | 1 | 2 | | 2 | 3 | **Result:** | Jobs_ID | ServerID | Description | |---------|----------|------------| | 1 | 2 | Description | | 2 | 3 | Description |
KIRI SERTAI:
Jobs Servers | Jobs_ID | ServerID | |---------|----------| | 1 | 2 | | 2 | 3 | | 3 | NULL | **Result:** | Jobs_ID | ServerID | Description | |---------|----------|------------| | 1 | 2 | Description | | 2 | 3 | Description | | 3 | NULL | NULL |
Dengan memahami perbezaan ini, anda boleh memastikan pertanyaan anda mendapatkan semula baris yang diingini berdasarkan jenis gabungan yang anda inginkan .
Atas ialah kandungan terperinci Adakah MySQL JOIN lalai kepada LEFT JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!