07 - SQL - joins & Concat

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

This lesson contains 22 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

Joining Tables in SQL
with Joins en CONCAT

Slide 1 - Slide

This item has no instructions

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

Slide 2 - Slide

This item has no instructions

Wat weet je al over joins in SQL?

Slide 3 - Mind map

This item has no instructions

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

Slide 4 - Slide

This item has no instructions

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

Slide 5 - Slide

This item has no instructions

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

This item has no instructions

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

Slide 7 - Open question

This item has no instructions

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

Slide 8 - Slide

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

This item has no instructions

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

Slide 10 - Open question

This item has no instructions

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

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

This item has no instructions

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 question

This item has no instructions

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

Slide 14 - Slide

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

This item has no instructions

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 question

This item has no instructions

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

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

This item has no instructions

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 question

This item has no instructions

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

Slide 20 - Slide

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 question

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

This item has no instructions