MySQL -zelfstudie

MySQL HOME MySQL-intro MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WAAR? MySQL EN, OF, NIET MySQL BESTELLEN DOOR MySQL INVOEGEN IN MySQL NULL-waarden MySQL-UPDATE MySQL VERWIJDEREN MySQL-LIMIET MySQL MIN en MAX MySQL-COUNT, AVG, SUM MySQL LIKE MySQL-jokertekens MySQL IN MySQL TUSSEN MySQL-aliassen MySQL wordt lid MySQL INNER JOIN MySQL LEFT JOIN MySQL RECHTS AANMELDEN MySQL CROSS JOIN Zelf lid worden van MySQL MySQL UNION MySQL GROEP DOOR MySQL HEBBEN MySQL BESTAAT MySQL ELK, ALLES MySQL INSERT SELECT MySQL-CASE MySQL Null-functies MySQL-opmerkingen MySQL-operators

MySQL- database

MySQL DB maken MySQL Drop DB MySQL-tabel maken MySQL-droptabel MySQL Wijzig Tabel MySQL-beperkingen MySQL Niet Null MySQL Uniek MySQL primaire sleutel MySQL-buitenlandse sleutel MySQL-controle MySQL-standaard MySQL-index maken MySQL automatisch verhogen MySQL-datums MySQL-weergaven

MySQL- referenties

MySQL-gegevenstypen MySQL-functies

MySQL- voorbeelden

MySQL-voorbeelden MySQL-quiz MySQL-oefeningen

MySQL ELKE en ALLE operators


De MySQL ELKE en ALLE operators

Met de operators ANYen ALLkunt u een vergelijking uitvoeren tussen een enkele kolomwaarde en een reeks andere waarden.


De ELKE exploitant

De ANYexploitant:

  • geeft als resultaat een booleaanse waarde
  • geeft WAAR terug als EEN van de subquerywaarden aan de voorwaarde voldoet

ANY betekent dat de voorwaarde waar is als de bewerking waar is voor een van de waarden in het bereik.

ELKE Syntaxis

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

Opmerking: de operator moet een standaardvergelijkingsoperator zijn (=, <>, !=, >, >=, < of <=).


De ALL-operator

De ALLexploitant:

  • geeft als resultaat een booleaanse waarde
  • geeft WAAR terug als ALLE waarden van de subquery aan de voorwaarde voldoen
  • wordt gebruikt met SELECT, WHEREen HAVINGstatements

ALL betekent dat de voorwaarde alleen waar is als de bewerking waar is voor alle waarden in het bereik.

ALL-syntaxis met SELECT

SELECT ALL column_name(s)
FROM table_name
WHERE condition;

ALL Syntaxis Met WHERE of HAVING

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

Opmerking: de operator moet een standaardvergelijkingsoperator zijn (=, <>, !=, >, >=, < of <=).


Demodatabase

Hieronder vindt u een selectie uit de tabel "Producten" in de Northwind-voorbeelddatabase:

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

En een selectie uit de tabel "OrderDetails" :

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 ELKE Voorbeelden

De volgende SQL-instructie geeft de ProductName weer als ELKE records in de OrderDetails-tabel een hoeveelheid hebben die gelijk is aan 10 (dit retourneert TRUE omdat de kolom Hoeveelheid enkele waarden van 10 heeft):

Voorbeeld

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

De volgende SQL-instructie geeft de ProductName weer als ELKE records in de OrderDetails-tabel een hoeveelheid groter dan 99 hebben (dit retourneert TRUE omdat de kolom Hoeveelheid enkele waarden heeft die groter zijn dan 99):

Voorbeeld

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

De volgende SQL-instructie geeft de ProductName weer als ELKE records in de OrderDetails-tabel een hoeveelheid groter dan 1000 hebben (dit retourneert FALSE omdat de kolom Hoeveelheid geen waarden heeft die groter zijn dan 1000):

Voorbeeld

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

SQL ALL-voorbeelden

De volgende SQL-instructie vermeldt ALLE productnamen:

Voorbeeld

SELECT ALL ProductName
FROM Products
WHERE TRUE;

De volgende SQL-instructie geeft de ProductName weer als ALLE records in de tabel OrderDetails Hoeveelheid gelijk aan 10 hebben. Dit zal natuurlijk FALSE retourneren omdat de kolom Hoeveelheid veel verschillende waarden heeft (niet alleen de waarde 10):

Voorbeeld

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