Výukový program MySQL

MySQL HOME Úvod do MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL KDE MySQL A NEBO NE MySQL OBJEDNAT PODLE MySQL INSERT INTO MySQL hodnoty NULL AKTUALIZACE MySQL MySQL DELETE LIMIT MySQL MySQL MIN a MAX MySQL COUNT, AVG, SUM MySQL LIKE Zástupné znaky MySQL MySQL IN MySQL MEZI Aliasy MySQL Připojení k MySQL VNITŘNÍ PŘIPOJENÍ k MySQL MySQL LEFT JOIN MySQL SPRÁVNÉ PŘIPOJENÍ SE MySQL CROSS JOIN Vlastní připojení k MySQL MySQL UNION MySQL GROUP BY MySQL MÁME MySQL EXISTUJE MySQL JAKÉKOLI, VŠECHNY MySQL INSERT SELECT CASE MySQL Funkce MySQL Null Komentáře k MySQL Operátoři MySQL

Databáze MySQL

MySQL Vytvořte DB MySQL Drop DB Vytvořit tabulku MySQL MySQL Drop Table MySQL Alter Table Omezení MySQL MySQL není Null Unikátní MySQL Primární klíč MySQL cizí klíč MySQL Kontrola MySQL Výchozí MySQL Vytvořit index MySQL Automatický přírůstek MySQL Data MySQL Zobrazení MySQL

Reference MySQL

MySQL datové typy Funkce MySQL

Příklady MySQL

Příklady MySQL MySQL kvíz Cvičení MySQL

MySQL JAKÝKOLI a VŠECHNY Operátoři


Operátoři MySQL JAKÝKOLI a VŠECHNY

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


JAKÝKOLI Operátor

Provozovatel ANY:

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

ANYznamená, ž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 VŠECHNY

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);