🗄️
SQL-0
  • Welkom
  • 1: Inleiding
    • Wat is een database?
    • Wat is SQL?
    • Onze database
    • Betere Editor?
  • 2: Selectie
    • Uitleg
      • Distinct
      • Order By
    • WHERE
      • Operator AND en OR
      • Between
      • IN
      • Not
      • Like
      • Is Null
      • Limit
    • Opdrachten
    • Antwoorden
  • 3: Functies
    • Uitleg
    • Opdrachten
    • Antwoorden
  • 4: Grouperen
    • Uitleg
    • Opdrachten
    • Antwoorden
  • 5: Joins
    • Uitleg
    • Opdrachten
    • Antwoorden
  • 6: SubQueries
    • Uitleg
    • Opdrachten
    • Antwoorden
  • Database bouwen
    • 7: Tabellen maken
      • Create
      • Drop
      • Opdracht
      • Antwoord
    • 8: Gegevens toevoegen
      • Insert
      • Update
      • Delete
      • Opdrachten
      • Antwoorden
    • 9: Sleutels
      • Strokendiagram
      • Foreign Key
  • Eindopdracht
    • Opdracht
Powered by GitBook
On this page

Was this helpful?

  1. 6: SubQueries

Uitleg

Stel dat je de naam van het oudste medewerker wilt laten afdrukken, dan kan dat met een subquery.

Die gaat als volgt:

select Firstname, Lastname 
from Employee
where BirthDate = (
    select min(BirthDate) 
    from Employee);

Als deze query wordt uitgevoerd dan wordt eerst de subquery uitgevoer (de query tussen haakjes), dus:

select min(BirthDate) 
from Employee;

Als je die uitvoert verschijnt er: 1947-09-19 00:00:00

Daarna wordt de hoofdquery uitgevoerd, en in plaats van de subquery wordt 1947-09-19 00:00:00 ingevuld.

Er staat dan dus eigenlijk:

select Firstname, Lastname 
from Employee
where BirthDate = "1947-09-19 00:00:00";

Subquery met IN

Stel dat je al de tracknamen wilt die verkocht zijn.

Dan kan dat door een join te gebruiken:

select * 
from InvoiceLine as I, Track as T 
where I.TrackID = T.TrackID;

Let op dat hier met AS een afkorting maken voor de join!

Maar dit kan dus ook met een subquery:

Select *
from InvoiceLine
Where TrackID IN (
    select TrackID
    from Track);

Omdat er nu uit een lijstje gekozen worden moet je IN gebruiken, en geen =

Je mag alleen = gebruiken als je er zeker van bent dat het resultaat van de subquery maar één exemplaar oplevert!

PreviousAntwoordenNextOpdrachten

Last updated 3 years ago

Was this helpful?