Sintaks untuk menggunakan EXISTS dan NOT EXISTS dalam SQL

王林
Lepaskan: 2024-02-19 23:08:06
asal
1116 orang telah melayarinya

sql中exists,not exists的用法

Penggunaan wujud dan tidak wujud dalam SQL memerlukan contoh kod khusus

Dalam SQL, wujud dan tidak wujud ialah sepasang predikat (predikat) yang biasa digunakan, digunakan untuk menentukan sama ada subkueri (subkueri) mengembalikan set hasil. exists digunakan untuk menyemak sama ada subquery mengembalikan sekurang-kurangnya satu baris hasil, manakala not exists digunakan untuk menyemak sama ada subquery tidak mengembalikan hasil. Sintaks

wujud adalah seperti berikut:

SELECT column1, column2, ...
FROM table
WHERE EXISTS (subquery);
Salin selepas log masuk

sintaks tidak wujud adalah seperti berikut:

SELECT column1, column2, ...
FROM table
WHERE NOT EXISTS (subquery);
Salin selepas log masuk

Yang berikut menggunakan beberapa contoh khusus untuk memperkenalkan penggunaan wujud dan tidak wujud.

Contoh 1: Cari rekod dengan syarat tertentu

Andaikan kita mempunyai jadual bernama "pekerja" yang mengandungi maklumat pekerja, termasuk lajur seperti "id_pekerja", "nama_pertama" dan "nama_akhir". Kami ingin mencari semua maklumat pekerja yang mana jawatan "pengurus" wujud.

SELECT employee_id, first_name, last_name
FROM employees
WHERE EXISTS (SELECT 1
              FROM employees
              WHERE job_title = 'manager'
                AND employees.employee_id = manager_id);
Salin selepas log masuk

Subquery dalam kod di atas mendapatkan semula rekod dengan kedudukan "pengurus" dari jadual "pekerja". Pertanyaan utama luar menggunakan predikat wujud untuk menentukan sama ada subkueri mengembalikan sekurang-kurangnya satu baris hasil.

Contoh 2: Cari rekod yang tidak mempunyai syarat tertentu

Andaikan sekarang kita ingin mencari maklumat tentang pekerja yang tidak mempunyai jawatan "pengurus".

SELECT employee_id, first_name, last_name
FROM employees
WHERE NOT EXISTS (SELECT 1
                  FROM employees
                  WHERE job_title = 'manager'
                    AND employees.employee_id = manager_id);
Salin selepas log masuk

Subquery dalam kod di atas juga mendapatkan semula rekod dengan kedudukan "pengurus" dari jadual "pekerja". Pertanyaan utama luar menggunakan predikat tidak wujud untuk menentukan sama ada subkueri tidak mengembalikan hasil.

Contoh 3: Perbandingan subkueri

Subkueri dengan wujud dan tidak wujud kerana predikat juga boleh ditapis menggunakan syarat lain.

Andaikan kita ingin mencari maklumat tentang pekerja yang mempunyai gaji tertinggi.

SELECT employee_id, first_name, last_name
FROM employees e1
WHERE NOT EXISTS (SELECT 1
                  FROM employees e2
                  WHERE e2.salary > e1.salary);
Salin selepas log masuk

Dalam kod di atas, subquery mendapatkan semula rekod dengan gaji lebih besar daripada pekerja semasa, dan menggunakan predikat tidak wujud untuk menentukan sama ada tiada rekod yang memenuhi syarat.

Ringkasan:

wujud dan tidak wujud ialah predikat yang biasa digunakan dalam SQL, digunakan untuk menyemak sama ada subkueri mengembalikan set hasil. wujud digunakan untuk menentukan bahawa sekurang-kurangnya satu baris keputusan wujud, dan tidak wujud digunakan untuk menentukan bahawa tiada hasil. Dengan menggunakan wujud dan tidak wujud, kami boleh menulis pernyataan pertanyaan yang lebih fleksibel untuk memenuhi keperluan perniagaan yang berbeza.

Atas ialah kandungan terperinci Sintaks untuk menggunakan EXISTS dan NOT EXISTS dalam SQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan