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

Mengapakah Berbilang SQL INNER JOIN Memerlukan Tanda Kurung?

Linda Hamilton
Lepaskan: 2025-01-19 20:42:10
asal
966 orang telah melayarinya

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:

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 & "'"
Salin selepas log masuk

Penyelesaian:

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

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 & "'"
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan