Bij databasebeheer met SQL zijn er diverse functies die het eenvoudig maken om gegevens te manipuleren en efficiënt op te vragen. Twee daarvan die vaak worden gebruikt door ontwikkelaars en data-analisten zijn de UNION-clausule en de IN-operator. Hieronder volgt een complete handleiding over hun functies, gebruiksvoorwaarden en de syntaxis.
UNION-clausule
De UNION-clausule is een clausule in SQL die wordt gebruikt om twee of meer resultaten van SELECT-instructies samen te voegen.
Om deze clausule te gebruiken, kan men niet zomaar tabellen combineren. Er zijn standaardregels waaraan voldaan moet worden om te voorkomen dat de query een fout oplevert:
- Elke samengevoegde SELECT-instructie moet het zelfde aantal kolommen hebben.
- De gegevenstypen van de overeenkomstige kolommen moeten gelijk of compatibel zijn.
- De kolommen in elke SELECT-instructie moeten in de zelfde volgorde staan.
Standaard selecteert en toont de UNION-clausule alleen verschillende waarden. Dit betekent dat het systeem de resultaten automatisch filtert zodat er geen dubbele gegevens voorkomen.
UNION-syntaxis:
SQL
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNION ALL-clausule
Binnen de UNION-familie bestaat ook een syntaxvariant genaamd UNION ALL.
Het belangrijkste verschil tussen beide zit in de manier waarop het systeem omgaat met dubbele gegevens. Waar UNION duplicaten verwijdert, staat UNION ALL het optreden van duplicaten juist toe. Deze clausule toont alle rijen uit elke samengevoegde SELECT-instructie, ongeacht of er exact dezelfde waarden in voorkomen.
UNION ALL-syntaxis:
SQL
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
Opmerking: UNION ALL is doorgaans sneller dan gewone UNION, omdat het computersysteem geen extra tijd hoeft te besteden aan het scannen en verwijderen van dubbele rijen.
IN-operator
De IN-operator is een logische operator die aan de WHERE-clausule wordt toegevoegd om gegevens te filteren op basis van meerdere mogelijke waarden tegelijk.
Deze operator wordt vaak beschouwd als een shorthand-methode ter vervanging van het herhaaldelijk gebruik van de OR-operator bij het selecteren op meerdere voorwaarden. Het gebruik van IN maakt SQL-code veel overzichtelijker, beknopter en gemakkelijker leesbaar.
Syntaxis van de IN-operator (met een specifieke lijst waarden):
SQL
SELECT column_name(s) FROM table_name
WHERE column_name IN (value1, value2, …);
Syntaxis van de IN-operator (met subquery / SELECT-instructie):
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.
SQL
SELECT column_name(s) FROM table_name
WHERE column_name IN (SELECT STATEMENT);






