Szukaj…


ISTNIEJE KLAUZULA

Tabela klientów

ID Imię Nazwisko
1 Ozgur Ozturk
2) Youssef Medi
3) Henz Tai

Tabela zamówień

ID Identyfikator klienta Ilość
1 2) 123,50
2) 3) 14,80

Zdobądź wszystkich klientów z co najmniej jednym zamówieniem

SELECT * FROM Customer WHERE EXISTS (
    SELECT * FROM Order WHERE Order.CustomerId=Customer.Id
)

Wynik

ID Imię Nazwisko
2) Youssef Medi
3) Henz Tai

Zdobądź wszystkich klientów bez zamówienia

SELECT * FROM Customer WHERE NOT EXISTS (
    SELECT * FROM Order WHERE Order.CustomerId = Customer.Id
)

Wynik

ID Imię Nazwisko
1 Ozgur Ozturk

Cel, powód

EXISTS , IN i JOIN mogą być kiedyś użyte do tego samego wyniku, jednak nie są równe:

  • EXISTS należy użyć do sprawdzenia, czy wartość istnieje w innej tabeli
  • IN powinien być używany do listy statycznej
  • JOIN powinny być używane do pobierania danych z innych tabel


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow