Rumah > Artikel > pangkalan data > Apakah kegunaan wujud dalam mysql
Dalam mysql, exists digunakan untuk menyemak sama ada subquery akan mengembalikan sekurang-kurangnya satu baris data Subquery sebenarnya tidak mengembalikan sebarang data, tetapi mengembalikan true atau false Sintaks ialah "SELECT field FROM table WHERE WUJUD (subquery);".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Apakah penggunaan wujud dalam mysql ialah pernyataan SELECT terhad (Klausa hitung dan kata kunci INTO tidak dibenarkan) Contoh:
WUJUD perintah pelaksanaan:SELECT 字段 FROM table WHERE EXISTS (subquery);
1 Mula-mula Jalankan pertanyaan luaran dan cache set hasil, seperti SELECT * FROM A
2. Lintas setiap baris rekod R dalam luaran set hasil pertanyaan, dan gantikannya ke dalam subkueri sebagai syarat untuk membuat pertanyaan, seperti PILIH 1 DARI B DI MANA B .id = A.id
3 Jika subkueri mengembalikan hasil, klausa EXISTS mengembalikan BENAR . Baris R ini boleh digunakan sebagai baris hasil pertanyaan luaran, jika tidak, ia tidak boleh digunakan sebagai hasil
SELECT * FROM A WHERE EXISTS (SELECT 1 FROM B WHERE B.id = A.id);Contoh Seperti berikut: Andaikan terdapat tiga jadual sekarang:
pelajar: jadual pelajar, yang mempunyai medan sno ialah nombor pelajar, dan sname ialah nama pelajar kursus: jadual kursus, yang mempunyai Medan cno ialah nombor kursus, cname ialah nama kursus hubungan_kursus_pelajar: jadual pemilihan kursus, rekod kursus yang pelajar telah pilih, ada medan sno ialah nombor pelajar, cno ialah nombor kursus Berikut adalah beberapa Contoh untuk menggambarkan penggunaan EXISTS dan TIDAK WUJUD, dan perbezaannya dengan IN dan NOT IN1 Gunakan NULL dalam subquery dan tetap mengembalikan set hasilKembalikan dalam tiga kes berikut Jika data adalah sama, semua data dalam jadual pelajar akan dikembalikan:
2 Subquery EXISTS mengembalikan nilai Boolean true atau false
EXISTS digunakan untuk menyemak sama ada subquery akan kembali sekurang-kurangnya Untuk. baris data, subkueri ini sebenarnya tidak mengembalikan sebarang data, tetapi mengembalikan nilai Boolean benar atau salah EXISTS menentukan subkueri untuk mengesan kewujudan baris.
EXISTS hanya mengambil berat tentang sama ada terdapat rekod dalam subkueri, dan tiada kaitan dengan set hasil tertentu Oleh itu, dalam contoh berikut, pilih sno dalam subkueri juga boleh digantikan dengan pilih cno atau pilih 1. Set hasil pertanyaan adalah Sama.
Soal semua pelajar yang telah mengambil kursus nombor 3:
select * from student; select * from student where exists (select 1); select * from student where exists (select null);
Pembelajaran yang disyorkan:
tutorial video mysqlAtas ialah kandungan terperinci Apakah kegunaan wujud dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!