SQL kurz

SQL HOME Úvod do SQL Syntaxe SQL SQL Select SQL Select Distinct SQL Kde SQL A nebo ne Pořadí SQL podle SQL Vložit do Hodnoty SQL Null Aktualizace SQL SQL Odstranit SQL Select Top SQL Min a Max Počet SQL, průměr, součet SQL Like Zástupné znaky SQL SQL In SQL mezi Aliasy SQL SQL se připojí SQL Vnitřní spojení SQL Levé připojení SQL Right Join Plné připojení k SQL SQL Self Join SQL Union SQL Group By SQL mít SQL existuje SQL Any, All SQL Select Into SQL Vložit do výběru Případ SQL Funkce SQL Null SQL uložené procedury Komentáře SQL Operátoři SQL

SQL databáze

SQL Vytvořit DB SQL Drop DB SQL Backup DB Vytvořit tabulku SQL SQL Drop Table SQL Alter Table Omezení SQL SQL Not Null Jedinečný SQL Primární klíč SQL cizí klíč SQL Kontrola SQL Výchozí SQL SQL index Automatické zvýšení SQL SQL data SQL pohledy SQL Injection SQL Hosting SQL datové typy

SQL reference

Klíčová slova SQL Funkce MySQL Funkce serveru SQL Funkce MS Access SQL Quick Ref

Příklady SQL

Příklady SQL SQL kvíz SQL cvičení SQL certifikát

SQL JAKÉKOLI a VŠECHNY operátory


Operátoři SQL ANY a ALL

Operátory ANYa ALLumožňují provádět srovnání mezi hodnotou jednoho sloupce a rozsahem jiných hodnot.


Operátor SQL ANY

Provozovatel ANY:

  • jako výsledek vrátí booleovskou hodnotu
  • vrátí hodnotu TRUE, pokud NĚKTERÁ z hodnot poddotazu splňuje podmínku

ANY znamená, že podmínka bude pravdivá, pokud je operace pravdivá pro kteroukoli z hodnot v rozsahu.

JAKÉKOLI Syntaxe

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

Poznámka: Operátor musí být standardní porovnávací operátor (=, <>, !=, >, >=, < nebo <=).


Operátor SQL ALL

Provozovatel ALL:

  • jako výsledek vrátí booleovskou hodnotu
  • vrátí TRUE, pokud VŠECHNY hodnoty poddotazu splňují podmínku
  • se používá s příkazy SELECT, WHEREaHAVING

ALL znamená, že podmínka bude pravdivá, pouze pokud je operace pravdivá pro všechny hodnoty v rozsahu. 

ALL Syntaxe S SELECT

SELECT ALL column_name(s)
FROM table_name
WHERE condition;

ALL Syntaxe s WHERE nebo HAVING

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

Poznámka: Operátor musí být standardní porovnávací operátor (=, <>, !=, >, >=, < nebo <=).


Demo databáze

Níže je uveden výběr z tabulky "Produkty" v ukázkové databázi 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

A výběr z tabulky "Podrobnosti objednávky" :

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


SQL JAKÉKOLI příklady

Následující příkaz SQL uvádí ProductName, pokud zjistí, že JAKÉKOLI záznamy v tabulce OrderDetails mají množství rovné 10 (toto vrátí hodnotu PRAVDA, protože sloupec Množství má některé hodnoty 10):

Příklad

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

Následující příkaz SQL uvádí ProductName, pokud zjistí, že JAKÉKOLI záznamy v tabulce OrderDetails mají množství větší než 99 (toto vrátí hodnotu PRAVDA, protože sloupec Množství má některé hodnoty větší než 99):

Příklad

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

Následující příkaz SQL uvádí ProductName, pokud zjistí, že JAKÉKOLI záznamy v tabulce OrderDetails mají množství větší než 1000 (toto vrátí hodnotu FALSE, protože sloupec Množství nemá žádné hodnoty větší než 1000):

Příklad

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

SQL VŠECHNY příklady

Následující příkaz SQL uvádí VŠECHNY názvy produktů:

Příklad

SELECT ALL ProductName
FROM Products
WHERE TRUE;

Následující příkaz SQL uvádí ProductName, pokud VŠECHNY záznamy v tabulce OrderDetails mají množství rovné 10. To samozřejmě vrátí hodnotu FALSE, protože sloupec Quantity má mnoho různých hodnot (nejen hodnotu 10):

Příklad

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