SQL-cheatheet - de meest nuttige SQL-opdrachten

Essentiële SQL-opdrachten en -bewerkingen

Inhoud

Hier is een overzichtelijke SQL cheat sheet die de meest essentiële commando’s en operaties behandelt:

De SQL professionals zullen hier waarschijnlijk niets nieuws vinden, maar als je nieuw bent in DB-ontwikkeling, kan het handig zijn.

sql in een gotische kathedraal

Gegevens ophalen

Specifieke kolommen selecteren:

SELECT column1, column2 FROM table_name;

Alle kolommen selecteren:

SELECT * FROM table_name;

Unieke waarden selecteren:

SELECT DISTINCT column1, column2 FROM table_name;

Gegevens filteren:

SELECT column1, column2 FROM table_name WHERE condition;

Gegevens sorteren:

SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];

Gegevens wijzigen

Een rij invoegen:

INSERT INTO table_name (column1, column2) VALUES (value1, value2);

Gegevens bijwerken:

UPDATE table_name SET column1 = value1 WHERE condition;

Gegevens verwijderen:

DELETE FROM table_name WHERE condition;

Tabelbewerkingen

Een tabel aanmaken:

CREATE TABLE table_name (
    column1 datatype PRIMARY KEY,
    column2 datatype,
    column3 datatype
);

Een tabel wijzigen:

ALTER TABLE table_name ADD column_name datatype;

Een tabel verwijderen:

DROP TABLE table_name;

Samenstellen

Inwendige join:

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

Linker join:

SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;

Aggregatiefuncties

Aantal rijen tellen:

SELECT COUNT(*) FROM table_name;

Waarden optellen:

SELECT SUM(column_name) FROM table_name;

Gemiddelde waarden berekenen:

SELECT AVG(column_name) FROM table_name;

Groeperen:

SELECT column1, COUNT(*) FROM table_name GROUP BY column1;

Subqueries

Subquery in SELECT:

SELECT column1, (SELECT AVG(column2) FROM table2) AS avg_col2 FROM table1;

Subquery in WHERE:

SELECT * FROM table1 WHERE column1 IN (SELECT column2 FROM table2);

Views

Een view aanmaken:

CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;

Een view verwijderen:

DROP VIEW view_name;

Deze cheat sheet behandelt de meest gebruikte SQL-commando’s en operaties.

Het biedt een snelle verwijzing voor het ophalen, wijzigen van gegevens, tabelbewerkingen, joins, aggregatiefuncties, subqueries en views.

Inwendige vs. Uitwendige joins

INNER JOIN en LEFT JOIN zijn twee veelvoorkomende typen SQL-joinbewerkingen die verschillen in de manier waarop ze gegevens van meerdere tabellen combineren:

  1. INNER JOIN:

    • Geeft alleen de rijen weer waarin er een overeenkomst is in beide tabellen op basis van de joinvoorwaarde.
    • Uitsluit alle rijen die geen overeenkomst hebben in de andere tabel.
    • Handig als je alleen gegevens wilt ophalen die in beide tabellen voorkomen.
  2. LEFT JOIN (ook wel LEFT OUTER JOIN genoemd):

    • Geeft alle rijen weer uit de linker tabel en de overeenkomende rijen uit de rechter tabel.
    • Als er geen overeenkomst is in de rechter tabel, wordt de rij uit de linker tabel toch opgenomen en worden NULL-waarden ingevuld voor de kolommen van de rechter tabel.
    • Handig als je alle records uit de linker tabel wilt zien, ook als er geen overeenkomende gegevens zijn in de rechter tabel.

Belangrijkste verschillen:

  1. Resultaatset:

    • INNER JOIN: Geeft alleen overeenkomende rijen weer.
    • LEFT JOIN: Geeft alle rijen uit de linker tabel weer, plus overeenkomende rijen uit de rechter tabel.
  2. NULL-waarden:

    • INNER JOIN: Geeft geen NULL-waarden weer voor niet-overeenkomende rijen.
    • LEFT JOIN: Geeft NULL-waarden weer voor kolommen van de rechter tabel wanneer er geen overeenkomst is.
  3. Toepassingsgebieden:

    • INNER JOIN: Wanneer je gegevens wilt ophalen die in beide tabellen voorkomen.
    • LEFT JOIN: Wanneer je alle gegevens uit één tabel wilt en eventuele overeenkomende gegevens uit een andere tabel.
  4. Data volledigheid:

    • INNER JOIN: Kan gegevens uitsluiten als er geen overeenkomsten zijn.
    • LEFT JOIN: Zorgt ervoor dat alle gegevens uit de linker tabel worden opgenomen, wat een completer overzicht van de gegevens in de linker tabel biedt.

Het begrip van deze verschillen stelt je in staat om het juiste join-type te kiezen op basis van je specifieke gegevensophaling en analysesdoelen.