SQLite
 sql >> база данни >  >> RDS >> SQLite

SQLite Освен

Резюме :в този урок ще научите как да използвате 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 оператор за сравняване на две заявки и връщане на уникални редове от лявата заявка, които не се извеждат от дясната заявка.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Да се ​​изтрият ли няколко реда с помощта на идентификатори?

  2. Sqlite3 не вмъква няколко реда по ред

  3. SQLiteException:Неразпознат маркер при четене от база данни

  4. Създайте колона за автоматично увеличение в SQLite

  5. SQLite onUpgrade() разочарование