Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer UNION-Clausule | Geneste Subquery's
Intermediate SQL
course content

Cursusinhoud

Intermediate SQL

Intermediate SQL

1. Groeperen
2. Geneste Subquery's
3. Tabellen Samenvoegen
4. DDL en DML in SQL

book
UNION-Clausule

We hebben de aandacht getrokken van een klant die SQL-query's nodig heeft. Voordat we ons verdiepen in JOINs, laten we leren over de UNION-clausule, die essentieel is voor het combineren van meerdere tabellen.

Hier zijn enkele belangrijke dingen om te weten over het gebruik van UNION:

  1. Kolommen Aantal en Volgorde: Alle query's gecombineerd met UNION moeten hetzelfde aantal kolommen in dezelfde volgorde hebben;

  2. Gegevenstypen: De kolommen in elke query moeten compatibele gegevenstypen hebben;

  3. Unieke Rijen: Standaard verwijdert UNION dubbele rijen. Gebruik UNION ALL als je duplicaten wilt behouden.

Voor een beter begrip van hoe tabellen correct te combineren met behulp van de UNION-clausule, heb ik een extra tabel geïntroduceerd die informatie bevat over contractors.

Er is hier niet veel informatie, alleen de first_name, last_name en email.

Je kunt zien dat deze tabel overeenkomsten vertoont met de employees-tabel. Met behulp van de UNION-clausule kunnen we deze twee tabellen combineren om bijvoorbeeld een lijst te zien van alle namen en achternamen van werknemers en aannemers die bij het bedrijf betrokken zijn.

Om dit te doen, zullen we de UNION-clausule gebruiken:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Laten we eens kijken wat er gebeurt:

We hebben twee queries die elk drie kolommen retourneren met dezelfde gegevenstypen. We willen de Id, first_name en last_name van iedereen in het bedrijf zien. We hebben ook de Id-kolom hernoemd zodat beide queries dezelfde kolomnamen hebben.

Vervolgens gebruiken we UNION om de resultaten van deze queries te combineren, waarbij duplicaten worden verwijderd (hoewel er hier geen zijn).

Ten slotte sorteren we de resultaten op Id met behulp van ORDER BY.

Opmerking

We sorteren op Id, wat een gemeenschappelijke kolom is in beide tabellen.

Na het gebruik van UNION krijgen we een "enkele grote query" die we verder kunnen manipuleren met clausules zoals ORDER BY.

We kunnen WHERE of GROUP BY niet direct gebruiken met tabellen die zijn gecombineerd met UNION. Om deze clausules toe te passen, moeten we een subquery gebruiken in de FROM sectie. Hier is een voorbeeld van hoe je dat doet:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

Een subquery gebruiken in de FROM sectie geeft ons meer flexibiliteit! Het lijkt misschien in het begin lastig, maar het beheersen hiervan zal het schrijven van complexe queries veel gemakkelijker maken.

1. Welke kolommen zijn vereist bij het gebruik van de UNION-clausule in SQL?

2. Hoe behandelt de UNION-clausule standaard dubbele rijen?

question mark

Welke kolommen zijn vereist bij het gebruik van de UNION-clausule in SQL?

Select the correct answer

question mark

Hoe behandelt de UNION-clausule standaard dubbele rijen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5

Vraag AI

expand
ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

course content

Cursusinhoud

Intermediate SQL

Intermediate SQL

1. Groeperen
2. Geneste Subquery's
3. Tabellen Samenvoegen
4. DDL en DML in SQL

book
UNION-Clausule

We hebben de aandacht getrokken van een klant die SQL-query's nodig heeft. Voordat we ons verdiepen in JOINs, laten we leren over de UNION-clausule, die essentieel is voor het combineren van meerdere tabellen.

Hier zijn enkele belangrijke dingen om te weten over het gebruik van UNION:

  1. Kolommen Aantal en Volgorde: Alle query's gecombineerd met UNION moeten hetzelfde aantal kolommen in dezelfde volgorde hebben;

  2. Gegevenstypen: De kolommen in elke query moeten compatibele gegevenstypen hebben;

  3. Unieke Rijen: Standaard verwijdert UNION dubbele rijen. Gebruik UNION ALL als je duplicaten wilt behouden.

Voor een beter begrip van hoe tabellen correct te combineren met behulp van de UNION-clausule, heb ik een extra tabel geïntroduceerd die informatie bevat over contractors.

Er is hier niet veel informatie, alleen de first_name, last_name en email.

Je kunt zien dat deze tabel overeenkomsten vertoont met de employees-tabel. Met behulp van de UNION-clausule kunnen we deze twee tabellen combineren om bijvoorbeeld een lijst te zien van alle namen en achternamen van werknemers en aannemers die bij het bedrijf betrokken zijn.

Om dit te doen, zullen we de UNION-clausule gebruiken:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Laten we eens kijken wat er gebeurt:

We hebben twee queries die elk drie kolommen retourneren met dezelfde gegevenstypen. We willen de Id, first_name en last_name van iedereen in het bedrijf zien. We hebben ook de Id-kolom hernoemd zodat beide queries dezelfde kolomnamen hebben.

Vervolgens gebruiken we UNION om de resultaten van deze queries te combineren, waarbij duplicaten worden verwijderd (hoewel er hier geen zijn).

Ten slotte sorteren we de resultaten op Id met behulp van ORDER BY.

Opmerking

We sorteren op Id, wat een gemeenschappelijke kolom is in beide tabellen.

Na het gebruik van UNION krijgen we een "enkele grote query" die we verder kunnen manipuleren met clausules zoals ORDER BY.

We kunnen WHERE of GROUP BY niet direct gebruiken met tabellen die zijn gecombineerd met UNION. Om deze clausules toe te passen, moeten we een subquery gebruiken in de FROM sectie. Hier is een voorbeeld van hoe je dat doet:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

Een subquery gebruiken in de FROM sectie geeft ons meer flexibiliteit! Het lijkt misschien in het begin lastig, maar het beheersen hiervan zal het schrijven van complexe queries veel gemakkelijker maken.

1. Welke kolommen zijn vereist bij het gebruik van de UNION-clausule in SQL?

2. Hoe behandelt de UNION-clausule standaard dubbele rijen?

question mark

Welke kolommen zijn vereist bij het gebruik van de UNION-clausule in SQL?

Select the correct answer

question mark

Hoe behandelt de UNION-clausule standaard dubbele rijen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt