Резюме :в този урок ще научите как да използвате SQLite EXCEPT
оператор.
Въведение в SQLite EXCEPT
оператор
SQLite EXCEPT
оператор сравнява резултантните набори от две заявки и връща отделни редове от лявата заявка, които не се извеждат от дясната заявка.
По-долу е показан синтаксисът на EXCEPT
оператор:
SELECT select_list1
FROM table1
EXCEPT
SELECT select_list2
FROM table2
Code language: SQL (Structured Query Language) (sql)
Тази заявка трябва да отговаря на следните правила:
- Първо, броят на колоните в избраните списъци и на двете заявки трябва да е еднакъв.
- Второ, редът на колоните и техните типове трябва да са сравними.
Следните изрази създават две таблици t1
и t2
и вмъкнете някои данни в двете таблици:
CREATE TABLE t1(
v1 INT
);
INSERT INTO t1(v1)
VALUES(1),(2),(3);
CREATE TABLE t2(
v2 INT
);
INSERT INTO t2(v2)
VALUES(2),(3),(4);
Code language: SQL (Structured Query Language) (sql)
Следното изявление илюстрира как да използвате EXCEPT
оператор за сравняване на набори от резултати от две заявки:
SELECT v1
FROM t1
EXCEPT
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
Изходът е 1.
Следната снимка илюстрира EXCEPT
операция:
SQLite EXCEPT
примери
Ще използваме artists
и albums
таблици от примерната база данни за демонстрацията.
Следното твърдение намира идентификатори на изпълнители на изпълнители, които нямат албум в albums
таблица:
SELECT ArtistId
FROM artists
EXCEPT
SELECT ArtistId
FROM albums;
Code language: SQL (Structured Query Language) (sql)
Резултатът е както следва:
В този урок научихте как да използвате SQLite EXCEPT
оператор за сравняване на две заявки и връщане на уникални редове от лявата заявка, които не се извеждат от дясната заявка.