SQL, ett kommando i taget

Det mesta du gör med en databas klarar du med ett fåtal SQL-kommandon. Det svåra är inte att lära sig dem, utan att se hur de fungerar tillsammans.

Här får varje kommando en egen sida, med samma lilla tabell genom hela vägen. Du kan läsa sidorna i ordning, eller hoppa direkt till det kommando du vill förstå bättre.

Börja här

Övningsdata har skriptet som skapar tabellerna som alla sidor använder. Kör det en gång, så kan du testa varje exempel själv.

Sidorna

SidaInnehållFamilj
SELECTSELECT, *, kolumner, AS, DISTINCT🔍 DQL
WHEREjämförelser, AND/OR/IN, LIKE, BETWEEN, IS NULL🔍 DQL
ORDER BYORDER BY, LIMIT/TOP, OFFSET🔍 DQL
AggregatfunktionerCOUNT, SUM, AVG, MIN, MAX🔍 DQL
GROUP BYGROUP BY, HAVING🔍 DQL
JOINJOIN, LEFT JOIN, alias, gammal och ny stil🔍 DQL
Subquerysubquery och korrelerad subquery🔍 DQL
COALESCEreservvärden för NULL, COALESCE(SUM(...), 0) och NULLIF🔍 DQL
INSERTlägga till rader✏️ DML
UPDATEändra rader✏️ DML
DELETEta bort rader✏️ DML

Och när du vill knyta ihop SQL med C#:

SidaInnehåll
Från tabell till klasshur en tabell är uppbyggd, vad varje del motsvarar i C#, SQL jämfört med LINQ och var liknelsen tar slut

SQL:s fem familjer

SQL:s fem familjer: DQL, DML, DDL, DCL och TCL

FamiljFrågan den svarar påKommandon
🔍DQL, Data Query LanguageVad finns?SELECT
✏️DML, Data Manipulation LanguageÄndra innehålletINSERT, UPDATE, DELETE
🏗️DDL, Data Definition LanguageBygg strukturenCREATE, ALTER, DROP
🔑DCL, Data Control LanguageVem får göra vad?GRANT, REVOKE
🛟TCL, Transaction Control LanguageSpara eller ångra?BEGIN, COMMIT, ROLLBACK

Sidorna här handlar om DQL och DML, alltså det du som utvecklare skriver mest. Om TCL kan du läsa mer i Transaktioner.

I vilken ordning kör databasen frågan?

Det här är bra att ha i bakhuvudet när du läser sidorna. Du skriver en fråga i en ordning, men databasen kör den i en annan:

Skrivordning och körordning för en SQL-fråga

Du skriverDatabasen kör
1. SELECT5. välj kolumner
2. FROM / JOIN1. hämta och koppla tabeller
3. WHERE2. filtrera rader
4. GROUP BY3. lägg i högar
5. HAVING4. filtrera högar
6. ORDER BY6. sortera
7. LIMIT7. klipp

Många saker som annars känns godtyckliga får sin förklaring här. Du kommer att se tabellen igen på flera av sidorna.

Öva mer

När du har läst sidorna kan du testa dina kunskaper i två spel som löses helt med SQL:

SpelVad du görPassar för
SQL IslandDu kraschar på en ö och tar dig därifrån med SQLNybörjare: SELECT, WHERE, UPDATE, INSERT, DELETE, JOIN
SQL Murder MysteryDu löser ett mord genom att söka i polisens databasLite mer: flera JOIN i kedja, GROUP BY, HAVING