07 - SQL - joins & Concat

Joining Tables in SQL
with Joins en CONCAT
1 / 22
volgende
Slide 1: Tekstslide
ICTMBOStudiejaar 1,2

In deze les zitten 22 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 60 min

Onderdelen in deze les

Joining Tables in SQL
with Joins en CONCAT

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Leerdoel
Aan het einde van de les kun je joins gebruiken om gegevens uit meerdere tabellen te combineren in SQL.

Slide 2 - Tekstslide

Deze slide heeft geen instructies

Wat weet je al over joins in SQL?

Slide 3 - Woordweb

Deze slide heeft geen instructies

Wat zijn joins?
Joins zijn een manier om gegevens uit meerdere tabellen in een database te combineren op basis van overeenkomende kolommen.

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Soorten joins
Er zijn verschillende soorten joins, zoals 
  • INNER JOIN
  • LEFT JOIN
  • RIGHT JOIN
  • FULL JOIN

Slide 5 - Tekstslide

Deze slide heeft geen instructies

INNER JOIN
INNER JOIN retourneert alleen de rijen die overeenkomen in beide tabellen.
SELECT <kolom lijst>
FROM table_a a
INNER JOIN table_b b
ON a.key = b.key

Slide 6 - Tekstslide

Deze slide heeft geen instructies

oefening 1: Klanten en Bestellingen
Opdracht: Vind alle klanten samen met hun bestellingen.

Slide 7 - Open vraag

Deze slide heeft geen instructies

Antwoord: Oefening
SELECT Customers.CustomerID, Customers.CompanyName, Orders.OrderID
FROM Customers
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Slide 8 - Tekstslide

Stappen:
  1. Gebruik de INNER JOIN om de tabellen Customers en Orders te verbinden. 
  2. Selecteer CustomerID en CompanyName van Customers.
  3. Selecteer OrderID van Orders.
  4. Combineer de resultaten op CustomerID.
LEFT JOIN
LEFT JOIN retourneert alle rijen uit de linker tabel en de overeenkomende rijen uit de rechter tabel.
SELECT <kolom lijst>
FROM table_a a
LEFT JOIN table_b b
ON a.key = b.key

Slide 9 - Tekstslide

Deze slide heeft geen instructies

Opdracht 2: Toon alle werknemers en de gebieden (territories) waarin ze werken, zelfs als ze niet aan een gebieden zijn toegewezen.

Slide 10 - Open vraag

Deze slide heeft geen instructies

Antwoord: Oefening
SELECT Employees.EmployeeID, Employees.LastName, Territories.TerritoryDescription
FROM Employees
LEFT JOIN EmployeeTerritories ON Employees.EmployeeID = EmployeeTerritories.EmployeeID
LEFT JOIN Territories ON EmployeeTerritories.TerritoryID = Territories.TerritoryID;

Slide 11 - Tekstslide

Stappen:
  1. Selecteer de kolommen EmployeeID en LastName uit de tabel Employees.
  2. Voer een LEFT JOIN uit met de tabel EmployeeTerritories op basis van EmployeeID.
  3. Voer nog een LEFT JOIN uit met de tabel Territories op basis van TerritoryID.
  4. Het resultaat toont alle werknemers met hun regio’s, inclusief werknemers zonder toegewezen regio.
RIGHT JOIN
RIGHT JOIN retourneert alle rijen uit de rechter tabel en de overeenkomende rijen uit de linker tabel.
SELECT <kolom lijst>
FROM table_a a
RIGHT JOIN table_b b
ON a.key = b.key

Slide 12 - Tekstslide

Deze slide heeft geen instructies

Opdracht 3: Maak een query die alle producten toont, inclusief de leveranciersnaam, zelfs als er geen leverancier is gekoppeld aan het product.

Slide 13 - Open vraag

Deze slide heeft geen instructies

Antwoord: Oefening
SELECT P.ProductName, S.CompanyName
FROM Suppliers S
RIGHT JOIN Products P ON P.SupplierID = S.SupplierID;

Slide 14 - Tekstslide

Stappen:
  1. Selecteer de kolommen EmployeeID en LastName uit de tabel Employees.
  2. Voer een LEFT JOIN uit met de tabel EmployeeTerritories op basis van EmployeeID.
  3. Voer nog een LEFT JOIN uit met de tabel Territories op basis van TerritoryID.
  4. Het resultaat toont alle werknemers met hun regio’s, inclusief werknemers zonder toegewezen regio.
FULL JOIN
FULL JOIN retourneert alle rijen uit beide tabellen, met NULL-waarden waar er geen overeenkomende rijen zijn.
SELECT <kolom lijst>
FROM table_a a
FULL JOIN table_b b
ON a.key = b.key

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Opdracht 4: Maak een full join query die alle klanten en bestellingen uit de Northwind-database weergeeft, zelfs als er geen overeenkomst is tussen klant en bestelling..

Slide 16 - Open vraag

Deze slide heeft geen instructies

Antwoord: Oefening
SELECT Customers.CustomerID, Customers.CompanyName, Orders.OrderID, Orders.OrderDate
FROM Customers
FULL JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerID;

Slide 17 - Tekstslide

Stappen:
  1. Selecteer de kolommen EmployeeID en LastName uit de tabel Employees.
  2. Voer een LEFT JOIN uit met de tabel EmployeeTerritories op basis van EmployeeID.
  3. Voer nog een LEFT JOIN uit met de tabel Territories op basis van TerritoryID.
  4. Het resultaat toont alle werknemers met hun regio’s, inclusief werknemers zonder toegewezen regio.
CONCAT
CONCAT is een SQL-functie die wordt gebruikt om twee of meer strings samen te voegen tot één string.
SELECT CONCAT 
(string1, string2, ..., stringN)
FROM table 

ON a.key = b.key

Slide 18 - Tekstslide

Deze slide heeft geen instructies

Opdracht 5: Gebruik de CONCAT functie om de FirstName en LastName te combineren, gescheiden door een spatie, en voeg de Title toe, gescheiden door een komma en een spatie.

Slide 19 - Open vraag

Deze slide heeft geen instructies

Antwoord: Oefening
SELECT CONCAT (FirstName, ' ', LastName, ', ', Title) AS 'Volledige Naam en Functie'
FROM Employees;

Slide 20 - Tekstslide

Stappen:
  1. Selecteer de kolommen EmployeeID en LastName uit de tabel Employees.
  2. Voer een LEFT JOIN uit met de tabel EmployeeTerritories op basis van EmployeeID.
  3. Voer nog een LEFT JOIN uit met de tabel Territories op basis van TerritoryID.
  4. Het resultaat toont alle werknemers met hun regio’s, inclusief werknemers zonder toegewezen regio.
Stel 1 vraag over iets dat je nog niet zo goed hebt begrepen.

Slide 21 - Open vraag

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.
Resources
  • https://www.w3schools.com/sql/sql_join.asp
  • https://www.programiz.com/sql/join
  • Stichting Praktijk Leren
  • LinkedIn Learning

Slide 22 - Tekstslide

Deze slide heeft geen instructies