Articles

Excel till SQL: varför du ska göra omkopplaren

Om du använder kalkylprogram som Excel eller Google Sheets på jobbet kan dessa problem vara bekanta för dig:

  • Det är lätt att göra oavsiktliga ändringar av data
  • Det är svårt att replikera en gammal analys av nya data (så många steg att komma ihåg!)
  • Det är långsamt med stora uppsättningar data
  • Det är besvärligt att dela jätte kalkylblad via e-post

kalkylprogram är tillgängliga, allestädes närvarande och flexibla. De kan slå samman celler, lägga till kommentarer, pivot på data, formatera tabeller och göra grafer. Men med flexibilitet kommer risk. De kan leda till mer arbete, mer väntan, mer versionshantering huvudvärk och lägre noggrannhet. Lyckligtvis kan SQL vara snabbare, enklare och säkrare än Excel. Läs vidare för att lära dig vad SQL är och för att se varför det är ett överlägset sätt att manipulera och analysera data.

nackdelar med Excel

låt oss börja med en praktisk tillämpning. Ta en titt på den här tabellen med Pok Asicmon och deras egenskaper:

Name Type Weight
bulbasaur grass 15
charmander fire 19
squirtle water 20
pikachu electric 13
oddish grass 12
snorlax normal 1014
mewtwo psychic 269

Suppose that we want to use Excel to filter out everything but the name och typ av varje gräs typ Pok Bisexmon i tabellen. I Excel måste vi använda steg-för-steg-instruktioner för att få data:

  • öppna Pok Aci-tabellen
  • Lägg till ett filter i kolumnen ”Typ”
  • filter för type = ”grass”
  • ta bort alla kolumner utom ”name”

Vid denna punkt har vi redigerat data (potentiella fel), vi har inte en kopia av stegen sparade någonstans (svårt att replikera), och vi måste skicka e-post till hela filen till våra kolleger Pok bisexmon utbildare (smärtsam versionskontroll).

När Pok-bordet växer, Excel—eller Google Sheets-saktar ner. Om antalet rader är i tusentals kan det verkligen skada vårt arbetsflöde. Om du någonsin har fastnat stirrar på en ”Pinwheel of Death” eller en ”Excel avsluta oväntat” meddelande, du vet smärtan.

vad är SQL?

SQL är bara ett språk som används i programmering. När vi säger ”Använd SQL” menar vi detta:

  • dina data lagras i en relationsdatabas, som är gjord av tabeller. Dessa tabeller ser vanligtvis ut som ett ark i Excel, med rader och kolumner.
  • du hämtar data och utför analys med frågor, som är en uppsättning instruktioner skrivna i SQL. Du kan spara dem på samma sätt som du sparar en textfil.
  • istället för att beskriva hur du får data-som i Excel eller Sheets-beskriver dina frågor vilka data du vill ha. Du kan köra dessa frågor med en SQL-tolk, som gör nödvändiga hämtnings-och analyssteg för dig.

Excel till SQL: Varför gör omkopplaren?

SQL är mycket snabbare än Excel. Det kan ta minuter i SQL att göra vad det tar nästan en timme att göra i Excel. Excel kan tekniskt hantera en miljon rader, men det är innan pivottabellerna, flera flikar och funktioner du förmodligen använder.

SQL skiljer också analys från data. När du använder SQL lagras dina data separat från din analys. Istället för att skicka e-post till en massiv Excel-fil kan du skicka små vanliga textfiler som innehåller instruktionerna för din analys. Lagkamrater har alla tillgång till samma data, så att de kan köra din analys på egen hand. De behöver inte hantera filversioner eller riskera att korrumpera data, och de kan köra den igen på andra data.

allt detta bidrar till den allvarliga efterfrågan från arbetsgivare för SQL-färdigheter.

Säg adjö till”dödens Pinwheel”

analysera Data med SQL

Hur fungerar frågor?

kommer du ihåg Pok Asicmon tabellen?

Name Type Weight
bulbasaur grass 15
charmander fire 19
squirtle water 20
pikachu electric 13
oddish grass 12
snorlax normal 1014
mewtwo psychic 269

With SQL, we can write queries to declare exactly what we want from the data. Till exempel:

den här frågan säger ”jag vill ha namnet och typen av varje Pok Acicmon i pokemon tabell som är en ”grass” – typ.”

vår resulterande tabell skulle se ut så här:

namn Typ
bulbasaur gräs
oddish gräs

låt oss bryta ner denna fråga:

  • SELECT är nyckelordet som säger SQL att starta en fråga
  • name och type är kolumner i pokemon tabell
  • FROM är nyckelordet som talar om för frågan att titta på pokemon tabell
  • WHERE filtrerar våra data på angivna villkor

jämför detta med motsvarande arbete i Excel. Snarare än att ta en serie steg som är benägna att fel, långsam att köra, svår att replikera och besvärlig att dela, kan SQL-frågor vara snabbare, enklare och säkrare.

kan jag fortfarande använda formler i SQL?

Om du är en Excel power-användare kan du tveka att ge upp bekanta formler så här:

eller så här:

SQL erbjuder samma funktionalitet, med större läsbarhet, tack vare sin strukturerade och engelska-liknande syntax. SUM används för att lägga till flera värden, och CASE används för att hantera villkorlig logik. Till exempel:

eller:

den första satsen Returnerar summan av alla vikter i pokemon tabellen. Det andra uttalandet returnerar två kolumner: namnet på varje Pok Asicmon och en storleksetikett (”liten” om under 5, ”medium” om under 15, etc.). Lägg märke till att SQL använder specifika kolumnnamn istället för abstrakta cellreferenser och ord som WHEN och THEN istället för parenteser och kommatecken.

Du kan också använda pivottabeller. Vad tar dig sju klick i Excel skulle ta dig sju tangenttryckningar i SQL-skriv bara GROUP BY:

denna fråga kommer att returnera den totala vikten av alla Pok Sacrimon som faller under varje typ:

Typ vikt
gräs 27
brand 19
vatten 20
elektrisk 13
normal 1014
psychic 269

denna SQL-sats är mer kortfattad och konkret än listan med instruktioner som du skulle behöva beskriva samma pivot i Excel, och uttalandet kan köras på flera dataset med liten ansträngning. Med andra ord är SQL-satsen lätt att granska och lätt överförbar.

Sammanfattningsvis

kalkylprogram som Sheets och Excel är bra för presentationer, grafer och små analyser, men de kan vara otillräckliga för uppgifter som kräver tyngre lyft. SQL kan slutföra de flesta av dessa uppgifter snabbare, och det är mer användarvänligt från början till slut.

Om du vill experimentera med SQL själv eller om du inte tror att Pok Acikmon gör ett övertygande nog argument, Prova vår gratis ” Varför lära sig SQL?”kurs, skriven av Codecademys data curriculum designer och chef för datavetenskap, Hillary Green-Lerman.

Om du är redo att lära dig språkets ins och outs och öva det med riktiga data kan du lära dig SQL från början i Codecademys senaste Pro Intensive. När du lär dig och förbättrar med SQL kan du flytta mer av din arbetsbelastning från Excel till SQL och reservera Excel som ett sista steg för att skapa attraktiva tabeller och diagram.

Sonny Li och Dan Layfield bidrog till denna artikel.