Rumah >pangkalan data >tutorial mysql >Mengapakah Berbilang SQL INNER JOIN Memerlukan Tanda Kurung?
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!