Bij het beheren van databases met SQL zijn er verschillende functies die ons helpen om gegevens efficiënt te manipuleren en op te halen. Twee daarvan die vaak worden gebruikt door ontwikkelaars en gegevensanalisten zijn de UNION-clausule en de IN-operator.
Hier is een complete gids over de functies, gebruiksvereisten en de syntaxis ervan.
UNION-clausule
De UNION-clausule is een SQL-clausule die wordt gebruikt om twee of meer resultaten van SELECT-instructies samen te voegen.
Om deze clausule te gebruiken, kunt u niet zomaar tabellen samenvoegen. Er zijn vaste regels waaraan moet worden voldaan om fouten in de query te voorkomen:
- Elke samengevoegde
SELECT-instructie moet hetzelfde aantal kolommen hebben. - De gegevenstypen van de corresponderende kolommen moeten hetzelfde of compatibel zijn.
- Elke kolom in de
SELECT-instructie moet in dezelfde volgorde staan.
Standaard selecteert en toont de UNION-clausule alleen verschillende waarden. Dit betekent dat het systeem automatisch resultaten filtert om dubbele gegevens te voorkomen.
Syntaxis van UNION
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNION ALL-clausule
Binnen de UNION-familie is er ook een variatie bekend als UNION ALL.
Het belangrijkste verschil tussen beide ligt in de manier waarop het systeem omgaat met dubbele gegevens. Terwijl UNION duplicaten verwijdert, staat UNION ALL dubbele gegevens toe.
Deze clausule toont alle rijen van elke samengevoegde SELECT-instructie, ongeacht of er exact dezelfde waarden zijn of niet.
Syntaxis van UNION ALL
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
Opmerking: Het gebruik van
UNION ALLis meestal sneller dan gewoonUNIONomdat het systeem geen extra tijd hoeft te besteden aan het scannen en verwijderen van dubbele rijen.
IN-operator
De IN-operator is een logische operator die wordt toegevoegd aan de WHERE-clausule om gegevens te filteren op basis van meerdere mogelijke waarden tegelijk.
Deze operator wordt vaak beschouwd als een verkorte methode om het herhaaldelijk gebruik van de OR-operator te vervangen bij het selecteren van meerdere voorwaarden.
Het gebruik van IN maakt de SQL-code veel netter, beknopter en leesbaarder.
Syntaxis van de IN-operator met een specifieke waardelijst
SELECT column_name(s) FROM table_name
WHERE column_name IN (value1, value2, ...);
Syntaxis van de IN-operator met een subquery
Naast het handmatig definiëren van waarden, kunt u ook een andere SELECT-instructie tussen de haakjes plaatsen om dynamisch een lijst met waarden te genereren.
SELECT column_name(s) FROM table_name
WHERE column_name IN (SELECT STATEMENT);
Geschreven door
Wilan
Vaste bijdrager van Bali Island Tekno die actief kennis deelt over technologie, programmeren en de wereld van software-engineering.