Indien er in meerdere tabellen een zelfde veldnaam voorkomt die je wil gebruiken in een query moet je ook de tabelnaam vermelden. In ons voorbeeld is dat bijvoorbeeld bij postcodes (komt zowel in tabel tblLeveranciers als in tabel tblPostcodes voor).

  1. alle wijnen die beschikbaar zijn, samen met de leveranciersnaam (op 2 manieren: met WHERE en met INNER JOIN)

    SELECT artom, naam 
    FROM tblWijnen, tblLeveranciers
    WHERE tblWijnen.leverancier=tblLeveranciers.leveranciersnummer
    

    of

    SELECT artom , naam 
    FROM tblWijnen
    INNER JOIN tblLeveranciers
    ON (tblWijnen.Leverancier = tblLeveranciers.leveranciersnummer)
    
  2. alle leveranciers met de bijhorende plaats

    SELECT naam, plaats 
    FROM tblPostcodes, tblleveranciers
    WHERE tblleveranciers.postcode = tblpostcodes.postcode
    

    of

    SELECT naam, plaats 
    FROM tblleveranciers
    INNER JOIN tblpostcodes
    ON (tblleveranciers.postcode = tblpostcodes.postcode)
    
  3. alle wijnen met de volledige adresgegevens van de leverancier

    SELECT artom, naam, straat, tblleveranciers.postcode, plaats
    FROM tblPostcodes, tblleveranciers,tblWijnen
    WHERE (tblleveranciers.postcode = tblpostcodes.postcode) AND (tblwijnen.leverancier = tblleveranciers.leveranciersnummer)
    
  4. de wijnen die te weinig in stock zijn met de gegevens van de leverancier

    SELECT artom,naam, straat, tblleveranciers.postcode, plaats
    FROM tblPostcodes, tblleveranciers,tblWijnen
    WHERE (tblleveranciers.postcode =tblpostcodes.postcode) AND (tblwijnen.leverancier = tblleveranciers.leveranciersnummer) AND (tblWijnen.stock < tblWijnen.minimalestock)
    
  5. alle leveranciers met de wijnen die ze leveren, ook de leveranciers zonder geleverde wijnen worden afgedrukt

    SELECT artom, naamFROM tblWijnen 
    RIGHT OUTER JOIN tblLeveranciers
    ON (tblWijnen.leverancier = tblLeveranciers.leveranciersnummer);
    
  6. alle wijnen met de leveranciersnaam, ook wijnen waar geen passend record voor gevonden is wordt afgedrukt

    SELECT artom, naam
    FROM tblWijnen 
    LEFT OUTER JOIN tblLeveranciers
    ON (tblWijnen.leverancier = tblLeveranciers.leveranciersnummer);
    
  7. alle wijnen die behoren tot soort 2 met hun bijbehorende leveranciersnaam

    SELECT artom, naam
    FROM tblWijnen 
    LEFT OUTER JOIN tblLeveranciers
    ON (tblWijnen.leverancier = tblLeveranciers.leveranciersnummer)
    WHERE soort=2;
    
  8. alle wijnen die gemaakt zijn voor 1990 en die een stock groter dan 100 hebben met alle leveranciersgegevens

    SELECT artom, naam, straat, postcode
    FROM tblWijnen 
    LEFT OUTER JOIN tblLeveranciers
    ON (tblWijnen.leverancier = tblLeveranciers.leveranciersnummer)
    WHERE jaar<1990 and stock > 100;
    
  9. per leveranciersnaam het aantal wijnen die ze verkopen

    SELECT naam, count(artom)
    FROM tblwijnen, tblleveranciers
    WHERE tblwijnen.leverancier = tblleveranciers.leveranciersnummer
    GROUP BY naam;
    
  10. alle leveranciersnamen die meer dan 10 wijnen verkopen

    SELECT naam, count(artom)
    FROM tblwijnen, tblleveranciers
    WHERE tblwijnen.leverancier = tblleveranciers.leveranciersnummer
    GROUP BY naam
    HAVING count(artom)>10;
    

Ga door naar de volgende bladzijde in de cursus: Gegevens manipuleren