Rumah  >  Artikel  >  pangkalan data  >  Apakah kegunaan wujud dalam mysql

Apakah kegunaan wujud dalam mysql

WBOY
WBOYasal
2022-01-05 09:47:0230697semak imbas

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);".

Apakah kegunaan wujud dalam mysql

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 IN

1 Gunakan NULL dalam subquery dan tetap mengembalikan set hasil

Kembalikan 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 mysql

Atas ialah kandungan terperinci Apakah kegunaan wujud dalam mysql. 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