Samouczek SQL

SQL HOME Wprowadzenie do SQL Składnia SQL Wybór SQL SQL Wybierz Wyraźne SQL Gdzie SQL i lub nie Kolejność SQL według SQL Wstaw do Puste wartości SQL Aktualizacja SQL Usuń SQL SQL Wybierz Góra Minimalna i maksymalna wartość SQL Liczba SQL, średnia, suma Polubienie SQL Symbole wieloznaczne SQL SQL In SQL między Aliasy SQL Połączenia SQL Wewnętrzne złącze SQL Połączenie lewe SQL Prawe połączenie SQL Pełne dołączenie do SQL Samoprzyłączanie SQL SQL Union Grupa SQL według Posiadanie SQL SQL istnieje SQL Dowolne, Wszystkie SQL Wybierz do Wstaw SQL do Wybierz Sprawa SQL Funkcje zerowe SQL Procedury składowane w SQL Komentarze SQL Operatory SQL

Baza danych SQL

Tworzenie bazy danych SQL Porzucona baza danych SQL Kopia zapasowa bazy danych SQL Utwórz tabelę SQL Tabela upuszczania SQL Zmień tabelę SQL Ograniczenia SQL SQL nie jest pusty Unikalny SQL Klucz podstawowy SQL Klucz obcy SQL Sprawdzanie SQL Domyślny SQL Indeks SQL Automatyczny przyrost SQL Daty SQL Widoki SQL Wstrzyknięcie SQL Hosting SQL Typy danych SQL

Referencje SQL

Słowa kluczowe SQL Funkcje MySQL Funkcje serwera SQL Funkcje dostępu MS Szybkie odwołanie do SQL

Przykłady SQL

Przykłady SQL Quiz SQL Ćwiczenia SQL Certyfikat SQL

SQL ANY i ALL Operatory


Operatory SQL ANY i ALL

Operatory ANYi ALLumożliwiają porównanie wartości w jednej kolumnie z zakresem innych wartości.


Operator SQL ANY

Operator ANY:

  • zwraca jako wynik wartość logiczną
  • zwraca TRUE, jeśli DOWOLNA z wartości podzapytania spełnia warunek

ANY oznacza, że ​​warunek będzie prawdziwy, jeśli operacja jest prawdziwa dla dowolnej wartości w zakresie.

DOWOLNA składnia

SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
  (SELECT column_name
 
FROM table_name
 
WHERE condition);

Uwaga: operator musi być standardowym operatorem porównania (=, <>, !=, >, >=, < lub <=).


Operator SQL ALL

Operator ALL:

  • zwraca jako wynik wartość logiczną
  • zwraca TRUE, jeśli WSZYSTKIE wartości podzapytania spełniają warunek
  • jest używany z wyrażeniami SELECT, WHEREiHAVING

ALLoznacza, że ​​warunek będzie spełniony tylko wtedy, gdy operacja jest prawdziwa dla wszystkich wartości w zakresie. 

ALL Składnia z SELECT

SELECT ALL column_name(s)
FROM table_name
WHERE condition;

ALL Składnia z WHERE lub HAVING

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
  (SELECT column_name
 
FROM table_name
 
WHERE condition);

Uwaga: operator musi być standardowym operatorem porównania (=, <>, !=, >, >=, < lub <=).


Demo bazy danych

Poniżej znajduje się wybór z tabeli „Produkty” w przykładowej bazie danych Northwind:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35
6 Grandma's Boysenberry Spread 3 2 12 - 8 oz jars 25
7 Uncle Bob's Organic Dried Pears 3 7 12 - 1 lb pkgs. 30
8 Northwoods Cranberry Sauce 3 2 12 - 12 oz jars 40
9 Mishi Kobe Niku 4 6 18 - 500 g pkgs. 97

Oraz wybór z tabeli „Szczegóły zamówienia” :

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40
6 10250 41 10
7 10250 51 35
8 10250 65 15
9 10251 22 6
10 10251 57 15


Przykłady SQL DOWOLNE

Poniższa instrukcja SQL wyświetla nazwę ProductName, jeśli znajdzie DOWOLNE rekordy w tabeli OrderDetails, które mają Quantity równe 10 (to zwróci TRUE, ponieważ kolumna Quantity ma kilka wartości 10):

Przykład

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);

Poniższa instrukcja SQL wyświetla nazwę ProductName, jeśli znajdzie DOWOLNE rekordy w tabeli OrderDetails, które mają Quantity większe niż 99 (to zwróci TRUE, ponieważ kolumna Quantity ma pewne wartości większe niż 99):

Przykład

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 99);

Poniższa instrukcja SQL wyświetla nazwę ProductName, jeśli znajdzie DOWOLNE rekordy w tabeli OrderDetails, które mają wartość Quantity większą niż 1000 (zwróci to wartość FALSE, ponieważ kolumna Quantity nie zawiera wartości większych niż 1000):

Przykład

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 1000);

Przykłady SQL WSZYSTKIE

Poniższa instrukcja SQL zawiera listę WSZYSTKICH nazw produktów:

Przykład

SELECT ALL ProductName
FROM Products
WHERE TRUE;

Poniższa instrukcja SQL zawiera nazwę ProductName, jeśli WSZYSTKIE rekordy w tabeli OrderDetails mają Quantity równe 10. To oczywiście zwróci FALSE, ponieważ kolumna Quantity ma wiele różnych wartości (nie tylko wartość 10):

Przykład

SELECT ProductName
FROM Products
WHERE ProductID = ALL
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);