Dalam bidang pengaturcaraan SQL, penggunaan operator "=" ada di mana-mana. Walau bagaimanapun, apabila menemui ungkapan "=*" dalam pernyataan gabungan, pembangun SQL yang berpengalaman mungkin berhenti seketika, hairan dengan sintaksnya yang tidak dikenali. Artikel ini bertujuan untuk menafikan pengendali yang penuh teka-teki ini, menjelaskan kepentingan dan penggunaannya.
Sekarang, mari kita mendalami pertanyaan yang telah mencetuskan rasa ingin tahu ini:
WHERE table1.yr =* table2.yr -1
Coretan ini mewakili gabungan keadaan dalam Microsoft SQL Server, di mana pengendali kesamaan "=" disambungkan dengan asterisk. Sintaks ini bermula pada era sebelum SQL Server 2005 dan tidak mendapat tempat dalam spesifikasi ANSI JOIN.
Untuk merungkai maksudnya, adalah penting untuk memahami konteks sejarahnya. Sintaks ini memudahkan cantuman luar, sejenis cantuman yang mengekalkan semua baris daripada jadual yang ditentukan, tidak kira sama ada ia mempunyai nilai yang sepadan dalam keadaan cantuman.
Dalam contoh yang diberikan, "*" menunjukkan bahawa join hendaklah memilih semua baris daripada kedua-dua table1 dan table2. Ungkapan "table2.yr -1" menolak 1 daripada nilai lajur "thn" dalam jadual2 sebelum melakukan perbandingan.
Pada dasarnya, pertanyaan mendapatkan semula semua baris daripada jadual1 yang sepadan dengan nilai dalam jadual2 " lajur tahun" dialihkan setahun yang lalu. Ia adalah sintaks khusus dan berguna yang boleh dikatakan mempunyai tempatnya dalam senario tertentu.
Walaupun sintaks ini telah tidak digunakan untuk memihak kepada pendekatan yang lebih standard, ia berfungsi sebagai bukti sifat evolusi SQL, mencerminkan sifat berterusan SQL penghalusan dan penyesuaian bahasa pengaturcaraan untuk memenuhi keperluan pembangun yang semakin berkembang.
Atas ialah kandungan terperinci Apakah Maksud Operator '=' Diubah suai oleh '*' dalam Keadaan Sertai SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!