Rumah >pangkalan data >tutorial mysql >Mengapakah Berbilang SQL INNER JOIN Memerlukan Tanda Kurung?

Mengapakah Berbilang SQL INNER JOIN Memerlukan Tanda Kurung?

Linda Hamilton
Linda Hamiltonasal
2025-01-19 20:42:10913semak imbas

Why Do Multiple SQL INNER JOINs Require Parentheses?

Ralat sintaks sambungan berbilang jadual SQL

Apabila pernyataan SQL mengandungi berbilang operasi INNER JOIN, semua klausa JOIN kecuali klausa JOIN pertama mesti disertakan dalam kurungan untuk mengelakkan ralat sintaks.

Penerangan masalah:

Pernyataan SQL yang sebelum ini hanya mempunyai satu INNER JOIN membuang ralat sintaks selepas menambah gabungan jadual kedua. Ayat tersebut adalah seperti berikut:

<code class="language-sql">adsFormView.SelectCommand = "SELECT * FROM [tableCourse] 
INNER JOIN [tableGrade] ON [tableCourse].[grading] = [tableGrade].[id] 
INNER JOIN [tableCourseType] ON [tableCourse].[course_type] = [tableCourseType].[id] 
WHERE [prefix]='" & myPrefix & "' AND [course_number]='" & myCourseNum & "'"</code>

Penyelesaian:

Untuk menyelesaikan ralat ini, klausa JOIN tambahan mesti disertakan dalam kurungan. Ayat yang dibetulkan adalah seperti berikut:

<code class="language-sql">adsFormView.SelectCommand = "SELECT * FROM [tableCourse] 
INNER JOIN [tableGrade] ON [tableCourse].[grading] = [tableGrade].[id] 
INNER JOIN (
    [tableCourseType] ON [tableCourse].[course_type] = [tableCourseType].[id]
)
WHERE [prefix]='" & myPrefix & "' AND [course_number]='" & myCourseNum & "'"</code>

Penjelasan:

Untuk cantuman berbilang jadual, setiap operasi JOIN tambahan mesti disertakan dalam kurungan. Ini memastikan keutamaan operator yang betul dan menghalang ralat sintaks. JOIN yang paling dalam dilaksanakan dahulu, kemudian JOIN luar seterusnya, dan seterusnya sehingga jadual FROM asal dicapai.

Dengan mematuhi sintaks ini, cantuman berbilang jadual dalam pernyataan SQL boleh dilaksanakan dengan betul.

Atas ialah kandungan terperinci Mengapakah Berbilang SQL INNER JOIN Memerlukan Tanda Kurung?. 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