SQL -zelfstudie

SQL HOME SQL-intro SQL-syntaxis SQL-selectie SQL Select Distinct SQL waar SQL en, of, niet SQL-bestelling op SQL invoegen in SQL-nulwaarden SQL-update SQL verwijderen SQL Selecteer Top SQL Min en Max Aantal SQL, Gem, Som SQL Vind ik leuk SQL-jokertekens SQL In SQL Tussen SQL-aliassen SQL-joins SQL Inner Join SQL Left Join SQL juiste join Volledige deelname aan SQL Zelf lid worden van SQL SQL-unie SQL Groeperen op SQL hebben SQL bestaat SQL Alle, Alle SQL Selecteren in SQL invoegen in selecteren SQL-geval SQL Null-functies Op SQL opgeslagen procedures SQL-opmerkingen SQL-operators

SQL- database

SQL creëren DB SQL Drop-DB SQL back-up DB SQL-tabel maken SQL-droptabel SQL-wijzigingstabel SQL-beperkingen SQL niet null SQL Uniek Primaire SQL-sleutel SQL externe sleutel SQL-controle SQL-standaard SQL-index Automatische SQL-verhoging SQL-datums SQL-weergaven SQL injectie SQL-hosting SQL-gegevenstypen

SQL- verwijzingen

SQL-trefwoorden MySQL-functies SQL Server-functies MS Access-functies Snelle SQL-referentie

SQL- voorbeelden

SQL-voorbeelden SQL-quiz SQL-oefeningen SQL-certificaat

SQL ELKE en ALLE operators


De SQL ANY en ALLE operators

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


De SQL ANY-operator

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 SQL 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

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