hc4 - SQL data querying Flashcards
Wat doet de SELECT query?
Het verandert de database niet, maar zorgt er alleen voor dat bepaalde informatie weergegeven wordt. Het draait dus om het opvragen van informatie.
SELECT gebruiken als rekenmachine om 1 + 2 uit te rekenen
SELECT 1 + 2;
SELECT gebruiken om alle kolommen van de tabel genres weer te geven
SELECT * FROM genres;
SELECT gebruiken om alleen de kolom ‘name’ van de tabel genres weer te geven
SELECT name FROM genres;
SELECT gebruiken om de kolommen ‘name’ en ‘genreld’ van de tabel genres weer te geven
SELECT name, genreld FROM genres;
SELECT gebruiken om de cities weer te geven waar customers wonen die in United Kingdom wonen.
SELECT city FROM customers WHERE country=’United Kingdom’;
Je hebt het volgende gevraagd: SELECT city FROM customers WHERE country=’United Kingdom’;
En krijgt als uitkomst
London
London
Edinburgh
Hoe kan je de query zo aanpassen dat de dubbelen verwijderd worden?
SELECT DINSTINCT city FROM customers WHERE country=’United Kingdom’;
SELECT gebruiken om de first names weer te geven van customers die wonen in United Kingdom in London wonen
SELECT FirstName FROM customers WHERE country=’United Kingdom’ and city=’London’;
SELECT gebruiken om het gemiddelde aantal milliseconds te selecteren van de tabel tracks
SELECT avg(Milliseconds) FROM tracks;
SELECT gebruiken om duur van de langste track (in milliseconds) te selecteren van de tabel tracks
SELECT min(Milliseconds) FROM tracks;
SELECT gebruiken om duur van de kortst track (in milliseconds) te selecteren van de tabel tracks
SELECT max(Milliseconds) FROM tracks;
SELECT gebruiken om te tellen hoeveel liedjes (Name) er zijn in de tabel tracks
SELECT count(Name) FROM tracks
SELECT gebruiken om te tellen hoeveel verschillende steden er zijn waarin customers wonen (tabel heet customers)
SELECT count(DISTINCT city) FROM customers
ORDER BY gebruik je om
SQL de rijen van een tabel gesorteerd te laten tonen
SELECT gebruiken om de FirstName, City en Country te laten zien van de tabel customers geordend op volgorde van Country en dan City
SELECT FirstName, City, Country FROM customers ORDER BY Country, City;
op welke volgorde werkt ORDER BY?
alfabetische volgorde
Hoe kan je de volgorde van ORDER BY omdraaien?
Door achter de query DESC te typen
SELECT gebruiken om de Country van de tabel customers te laten zien geordend op omgekeerde alfabetische volgorde van land
SELECT Country from customers ORDER BY Country DESC;
SELECT gebruiken om de klas en het gemiddelde cijfer (als klasgemiddelde) van de tabel cijfers te selecteren gegroepeerd per klas
SELECT Klas, avg(Cijfer) AS Klasgemiddelde FROM cijfers GROUP BY Klas;
SELECT gebruiken om de klas en het gemiddelde cijfer (als klasgemiddelde) van de tabel cijfers te selecteren gegroepeerd per klas
én dan alleen de klassen te tonen die gemiddeld een onvoldoende scoren
SELECT Klas, avg(Cijfer) AS Klasgemiddelde FROM cijfers GROUP BY Klas HAVING gemiddelde < 6;
wat is het verschil tussen WHERE en HAVING?
WHERE > filtert records voordat deze gegroepeerd worden
HAVING > filtert records nadat ze gegroepeerd zijn
Welke 4 verschillende soorten joins zijn er?
- JOIN
- NATURAL JOIN
- JOIN ON (bepaalde conditie)
- LEFT OUTER JOIN
welke join gebruik je om 2 tabellen gewoon helemaal samen te voegen? en geef deze query
SELECT * FROM Tabel1 JOIN Tabel2;
welke join gebruik je om 2 tabellen gewoon helemaal samen te voegen, maar geen dubbele kolommen te laten tonen? en geef deze query
SELECT * FROM Tabel1 NATURAL JOIN Tabel2;
Wanneer gebruik je JOIN ON (conditie)?
Als je twee tabellen wil samenvoegen en je ervan uitgaat dat een bepaalde kolom in tabel 1 gelijk is aan een bepaalde kolom in tabel 2
Voorbeeld je wil tabel 1 en tabel 2 samenvoegen maar kolom B uit tabel 1 en kolom X uit tabel 2 zijn gelijk.
SELECT * FROM Tabel1 JOIN Tabel2 ON B=X
Waar moet je mee uitkijken bij JOIN ON (conditie)?
Als er geen match is tussen bepaalde cellen, dan verdwijnt die hele rij (records verdwijnen)
Wanneer gebruik je LEFT JOIN ON (conditie)?
Bij bijvoorbeeld optionele relaties
Wat is het verschil met LEFT JOIN ON en JOIN ON als je een NULL hebt in kolom X (op de plek van b2)? (ON B=X)
Bij de LEFT JOIN ON worden wel alle rijen weergegeven, maar komt op plek C2 ook een NULL te staan, omdat deze niet overeenkomt met iets uit Tabel1.
Bij de JOIN ON B=X wordt dan de hele rij waar de NULL in staat niet weergegeven, dus krijg je maar 1 rij.