Förstå SQL – en introduktion till serien

Data finns överallt, men att ha tillgång till data är inte samma sak som att förstå den. För att kunna analysera, rapportera och integrera data på ett effektivt sätt behöver vi kunna ställa rätt frågor – och det är här SQL kommer in i bilden.

SQL (Structured Query Language) är språket som används för att hämta, strukturera och manipulera data i databaser. Men att använda SQL handlar inte bara om att skriva kommandon – det handlar om att förstå sin data och vad man vill få ut av den. Innan man kan ta några beslut behöver man kunna formulera rätt frågor. Genom att lära sig SQL kan du själv styra över vilka frågor du ställer och hur du analyserar informationen du får ut.

I den här artikelserien går vi igenom viktiga SQL-statements som hjälper dig att arbeta smartare med din data. Vi utforskar hur du kan filtrera, kombinera och analysera data på ett sätt som gör det enklare att identifiera mönster och insikter.

📌 Några av de ämnen vi kommer att ta upp: ✔ WHERE – filtrera och välja rätt data ✔ JOIN – kombinera information från flera tabeller ✔ GROUP BY och HAVING – aggregera och analysera data ✔ Subqueries – skapa dynamiska filter och beräkningar ✔ Common Table Expressions (CTE) – skapa tydliga och effektiva SQL-frågor

För vem?

Den här serien är för dig som vill förstå hur SQL kan användas för att hantera och analysera data på ett mer strukturerat och effektivt sätt. Oavsett om du är nybörjare eller redan har viss erfarenhet, får du konkreta insikter och exempel på hur du kan använda SQL i praktiken.

Att kunna SQL är en sak, men att förstå hur du kan använda det för att ställa rätt frågor och analysera din data är en helt annan. Häng med och lär dig hur du kan använda SQL för att verkligen förstå och tillämpa data på rätt sätt! 🚀

Vad är SQL?

SQL (Structured Query Language) är språket för att ge en dator instruktioner om att hämta eller göra något med data i en relationsdatabas. Det används för att hämta, filtrera, uppdatera och organisera data på ett strukturerat sätt. Med SQL kan du ställa frågor till en databas och få ut den information man behöver för analys, rapportering eller integration med andra system.

SQL är uppbyggt kring olika typer av statements, alltså kommandon, som var och en har en specifik funktion. Kommandona i SQL följer en viss syntax, vilket innebär en uppsättning regler på hur man skriver och strukturerar kommandona för att de ska fungera korrekt. Man kan tänka på dem som meningar och det gäller bara att lära sig vilka ord och i vilken ordning som bildar en komplett mening, precis som vilket språk som helst. Det finns också ofta många olika sätt att säga samma sak, precis som i vanliga språk.
Du kan använda SELECT för att hämta data, WHERE för att filtrera, JOIN för att kombinera tabeller och GROUP BY för att sammanfatta information. Oavsett om man arbetar med små dataset eller stora datalager kan man med SQL strukturera och analysera informationen.

En viktig del av att arbeta med SQL är att förstå hur data är lagrad och hur du kan formulera effektiva frågor. Genom att kombinera olika tekniker kan du skapa smarta och flexibla analyser som ger insikter och underlag för vidare arbete. SQL är inte ett beslutsverktyg i sig, men det ger dig möjligheten att ställa rätt frågor och hämta den data som behövs för att fatta välgrundade beslut.

Vad är en relationsdatabas?

En relationsdatabas är en databas där data är uppdelad i tabeller strukturerade i rader och kolumner. En tabell kan innehålla hundratals kolumner, eller bara ett fåtal, miljoner med rader eller betydligt färre. När ett system genererar data, läggs datat i olika tabeller och lagras sedan i en databas, men det finns en gemensam nämnare som gör att man kan koppla ihop data från tabellerna till en helhet. När du t ex köper en produkt, så kan informationen om köpet sparas i en tabell och dina kunduppgifter i en annan. Dina kunduppgifter kan också delas upp i olika tabeller och det finns oftast även tabeller som har information om alla produkter, deras färg, artikelnummer osv.

Alla databaser ser olika ut och man använder SQL för att skriva kod, s k queries, för att ta fram den data som man behöver. De här databaserna kan finnas i molnet, på egna, lokala servrar i något som kallas för on-prem eller blandat.

Vart skriver man SQL

SQL skrivs i olika gränssnitt beroende på vilken databas du arbetar med. Det kan vara ett grafiskt verktyg, en kodeditor eller ett terminalfönster. Oavsett vilket verktyg du använder är principen densamma – du skriver SQL-frågor som skickas till en databas för att hämta eller bearbeta data eller för att ge databasen instruktioner som att exempelvis lägga till en ny tabell eller en användare.

Många använder verktyg som SQL Server Management Studio (SSMS) för Microsoft SQL Server, pgAdmin för PostgreSQL eller MySQL Workbench för MySQL. Dessa program erbjuder ett grafiskt gränssnitt där du kan skriva och köra SQL-kod samt se resultatet direkt. För molnbaserade lösningar finns webbaserade gränssnitt som BigQuery Console för Google BigQuery eller Snowflake UI. Man kan också skriva SQL direkt i BI-verktyg som Power BI och Tableau och många system har sin egen form av SQL, exempelvis Salesforce (SQQL).

För enklare behov kan du skriva SQL direkt i en terminal eller kommandoprompt genom att ansluta till databasen via CLI-verktyg som psql för PostgreSQL eller mysql för MySQL. Oavsett miljö eller syfte är det viktigaste att förstå hur du kan formulera frågor för att arbeta med data. Exakt vilka SQL statements och syntax som behöver skrivas beror på databasen. Det kan skilja sig en del med hur det skrivs, men de är fortfarande mer som olika dialekter än olika språk och kan t ex heta T-SQL, MySQL, PL/SQL  osv.

Hur ser koden ut?

SQL använder engelska ord och går därmed att förstå hyfsat lätt när man känner till reglerna. Däremot är det svårare att skriva och mycket beror på att man måste bestämma vad man vill få ut. Man kan jämföra det med att läsa eller skriva en bok, att skriva en bok kräver att man kommer på en historia som leder till något, annars blir det bara ord. Att läsa en bok är däremot betydligt enklare.

WITH KunderFrånStorstäder AS (
SELECT kund_id, namn, stad
FROM kunder
WHERE stad IN (‘Stockholm’, ‘Göteborg’, ‘Malmö’)
),
ElektronikProdukter AS (
SELECT p.produkt_id, p.produkt_namn, p.pris, k.kategori_namn
FROM produkter p
JOIN kategorier k ON p.kategori_id = k.kategori_id
WHERE k.kategori_namn = ‘Elektronik’
)
SELECT o.ordernummer, o.datum, k.namn AS kund_namn,
p.produkt_namn, p.pris, l.lager_namn,
COUNT(od.produkt_id) AS antal_produkt
FROM ordrar o
LEFT JOIN KunderFrånStorstäder k ON o.kund_id = k.kund_id
LEFT JOIN orderdetaljer od ON o.ordernummer = od.ordernummer
LEFT JOIN ElektronikProdukter p ON od.produkt_id = p.produkt_id
LEFT JOIN lager l ON p.produkt_id = l.produkt_id
WHERE o.datum BETWEEN ‘2024-01-01’ AND ‘2024-12-31’
AND EXISTS (SELECT 1 FROM leveranser lv WHERE lv.ordernummer = o.ordernummer)
GROUP BY o.ordernummer, o.datum, k.namn, p.produkt_namn, p.pris, l.lager_namn
HAVING COUNT(od.produkt_id) > 1
ORDER BY o.datum DESC, p.pris DESC;

Dela som inlägg:

Liknande artiklar

Vad är SQL

SQL, Structured Query Language, är instruktioner för en dator att hämta eller göra något i en relationsdatabas. Det kan vara

Läs mer
power-bi-aktiekurs-styrränta

exempelrapport-aktiekurs

Två aktiekurser och styrränta I denna rapport används csv-filer med aktiekurser och styrränta nedladdade från https://www.nasdaqomxnordic.com/aktier/historiskakurser och https://www.riksbank.se/sv/statistik/rantor-och-valutakurser/styrranta-in–och-utlaningsranta/. Rapporten visar

Läs mer