Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite INTERSECT
operatora.
Wprowadzenie do SQLite INTERSECT
operator
SQLite INTERSECT
operator porównuje zbiory wyników dwóch zapytań i zwraca różne wiersze, które są wyprowadzane przez oba zapytania.
Poniższe ilustruje składnię INTERSECT
operator:
SELECT select_list1
FROM table1
INTERSECT
SELECT select_list2
FROM table2
Code language: SQL (Structured Query Language) (sql)
Podstawowe zasady łączenia zestawów wyników dwóch zapytań są następujące:
- Po pierwsze, liczba i kolejność kolumn we wszystkich zapytaniach musi być taka sama.
- Po drugie, typy danych muszą być porównywalne.
Na potrzeby demonstracji utworzymy dwie tabele t1
i t2
i wstaw kilka danych do obu:
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)
Poniższa instrukcja ilustruje, jak używać INTERSECT
operator do porównania zestawów wyników dwóch zapytań:
SELECT v1
FROM t1
INTERSECT
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
Oto wynik:

Poniższy rysunek ilustruje INTERSECT
operacja:

SQLite INTERSECT
przykład
Do demonstracji użyjemy customers
i invoices
tabele z przykładowej bazy danych.

Poniższe oświadczenie umożliwia znalezienie klientów, którzy mają faktury:
SELECT CustomerId
FROM customers
INTERSECT
SELECT CustomerId
FROM invoices
ORDER BY CustomerId;
Code language: SQL (Structured Query Language) (sql)
Poniższy rysunek przedstawia częściowe dane wyjściowe:

W tym samouczku nauczyłeś się korzystać z SQLite INTERSECT
operator do porównania dwóch zapytań i zwrócenia odrębnych wierszy, które są wyprowadzane przez oba zapytania.