Cursus
DataCamp Workspace bouwt voort op Jupyter-notebooks en optimaliseert de ervaring zodat je productiever kunt werken.
Een veelvoorkomende frustratie voor data-analisten en data scientists is dat het lastig kan zijn om een Jupyter-notebook te koppelen aan een database om te beginnen. Voor beginners is het probleem nog groter: hoe leer je SQL schrijven als je niet eens verbinding kunt maken met een database?
Met Workspace wordt SQL schrijven moeiteloos – of je nu oefent of echt aan het werk bent. In deze tutorial zie je hoe je binnen enkele seconden SQL schrijft in Workspace.
We gaan ervan uit dat je al eens SQL hebt gebruikt. Zo niet, lees dan eerst onze SQL-tutorial voor beginners en probeer daarna de voorbeelden uit die tutorial in Workspace met de technieken die je hier ziet!
Aan de slag
Om Workspace te gebruiken, moet je je aanmelden bij DataCamp. (Een gratis account is prima om te starten.)
Zodra je een account hebt, ga je via de bovenste navigatiebalk naar Workspace.

In deze tutorial gebruiken we de ingebouwde dataset NBA Shooting Data. Gebruik je liever je eigen dataset, ga dan door naar de sectie hieronder.
Gebruik de navigatie links om naar de pagina Datasets te gaan.

Typ "nba" in het zoekvak en klik op de dataset.

Je ziet een preview van de dataset. Lees die door en klik vervolgens op "Use Dataset".

Je eigen dataset uploaden
Je kunt SQL gebruiken om elk tabelachtig formaat in Workspace te analyseren. Momenteel worden CSV-bestanden het best ondersteund, dus voor leertoepassingen raden we aan om, als je je eigen dataset gebruikt, een CSV-bestand te nemen.
Klik op de overzichtspagina op "Empty" om een lege workspace te maken.

Geef je workspace een naam en klik vervolgens op "Create Workspace".

Open in de toolbar links de tool Files.

Sleep linksboven in de tool een databestand naar het bestandsvenster om het te uploaden. (Je kunt ook klikken op "browse files" of op de ⊕-knop en dan Uploaden.)
SQL gebruiken met data in CSV-bestanden
De NBA-schotdata staan in het bestand nba_players_shooting.csv. Open in de toolbar links de tool Files om het bestand te zien.

De notebook in de workspace bevat wat Python-code om de dataset te importeren. In dit geval willen we echter SQL gebruiken.
Klik aan het einde van de notebook op 'Add SQL'.

Selecteer in de dropdown "Select source" de optie "DataFrames and CSVs".

Om een SQL-query te schrijven op een CSV-bestand is slechts één aanpassing aan standaard SQL nodig. In de FROM-clausule zet je in plaats van de tabelnaam het pad naar het CSV-bestand tussen enkele aanhalingstekens.
Laten we het aandeel rake schoten per shooter berekenen, van best naar slechtst geordend. Typ in de SQL-cel de volgende code.
SELECT
shooter,
SUM((SCORE = 'MADE')::DOUBLE) / COUNT(*) AS prop_score_made
FROM 'nba_players_shooting.csv'
GROUP BY shooter
ORDER BY prop_score_made DESC

Let op: de SQL-dialect die wordt gebruikt wanneer je met een CSV-bestand werkt, is DuckDB. Lees hier meer over in DuckDB maakt SQL een volwaardige burger in DataCamp Workspace.
Ga verder in Python, R of no-code grafieken
In het laatste voorbeeld hebben we de standaardinstellingen voor het terugkeerformaat van de query behouden. Kijk goed bovenaan de SQL-cel en je ziet dat de returnwaarde een DataFrame met de naam df is. Dat betekent dat je verder kunt werken met de resultaten in Python (of in R, voor R-workspaces) of no-code visualisaties kunt maken.

Klik op 'Add Chart' om een no-code grafiek toe te voegen.

Stel de volgende opties in.
- Type: Bar
- X-as: prop_score_made
- Y-as: SHOOTER

SQL gebruiken met data in dataframes
De SQL-query die op het CSV-bestand is uitgevoerd, heeft een dataframe met de naam df gemaakt. Je kunt ook SQL-query’s schrijven op deze pandas- of R-dataframes. Het enige verschil met standaard SQL is dat je in de FROM-clausule de naam van het dataframe opgeeft in plaats van de tabelnaam.
Hier hergebruiken we de eerdere resultaten in df en splitsen we de kolom shooter in aparte voor- en achternamen. Voeg een SQL-cel toe, selecteer "DataFrames and CSVs" als bron en gebruik de volgende code.
SELECT
str_split(shooter, ' ')[1] AS first_name,
str_split(shooter, ' ')[2] AS last_name,
prop_score_made
FROM df
Voorbeelddatabases gebruiken
Workspace biedt ook verschillende voorbeelddatabases waarmee je je SQL-vaardigheden kunt oefenen.
Voeg een SQL-cel toe en scrol in de bron-dropdown naar de sectie "Sample Integrations". Hier gebruiken we "Bicycle Sales".

Er verschijnt een standaardquery. Voor de tutorial vervangen we die door een eenvoudigere query.
SELECT
product_name,
MIN(list_price) AS cheapest_list_price
FROM products
GROUP BY product_name
Als je een verbinding gebruikt met een database (in plaats van SQL te schrijven op een CSV-bestand of dataframe), krijg je de optie om de resultaten als een query te retourneren. Selecteer in de dropdown "Query". Je kunt de resulterende waarde ook een naam geven. Verander hier "query" in "best_price".

Het uitvoeren van de query geeft de volgende output.

Je kunt dit resultaat nu gebruiken om verdere SQL op te schrijven. In feite heb je een common table expression geschreven (behandeld in de tutorial SQL-commando’s voor data scientists) zonder de syntaxis van een common table expression te hoeven gebruiken.
Voeg nog een SQL-cel toe en schrijf deze vervolgquery.
SELECT *
FROM best_price
WHERE cheapest_list_price > 10000
Het uitvoeren van deze query levert de volgende resultaten op.

Verbinden met andere databases
Met Workspace kun je ook verbinding maken met veel typen databases, waaronder PostgreSQL, MySQL, Redshift, BigQuery, Athena, SQL Server, MariaDB en Oracle Database. Volledige details over hoe je verbinding maakt, vind je in de Workspace Docs.
Klik in de toolbar links op "Integrations" en klik daarna op de ⊕-knop om een nieuwe integratie te maken.
Kies het type database waarmee je verbinding maakt.

Je wordt gevraagd om verbindingsgegevens op te geven (deze verschillen per type database).

De AI-assistent gebruiken
Hoewel SQL schrijven leuk en nuttig kan zijn, kan AI het voor je laten schrijven om sneller te leren en productiever te zijn. Lees meer over de AI-assistent in Van data naar inzichten: ga sneller met de DataCamp Workspace AI Assistant.
Voeg een SQL-cel toe. Klik in het contextmenu rechts op "Generate".

Bovenaan de SQL-cel verschijnt een tekstvak. Schrijf hierin een taak voor de AI. Kies je eigen taak of probeer het volgende.
Return the product names and list prices for all mountain bikes made by Trek that are in stock.
Nadat je je opdracht hebt getypt, druk je op Enter om de AI SQL-code te laten genereren.

Als je denkt dat de code klopt, klik dan op "Accept & run" (of klik op "Accept" en later op "Run") om de resultaten van de query te zien.

Laat de AI je fouten uitleggen
Je kunt de ingebouwde AI in Workspace ook gebruiken om uit te leggen waarom er fouten in je SQL ontstaan. Stel dat je in de war raakte bij het schrijven van de query voor de dure fietsen en een Fortran-stijl .GT gebruikte in plaats van `>`.
SELECT *
FROM best_price
WHERE cheapest_list_price .GT. 10000
Dit resulteert in een fout. Klik linksonder in de SQL-cel op "Fix Error".

De AI geeft de juiste code en vervolgens een uitleg van wat je fout deed.

Samenvatting
Je hebt gezien hoe je het opzetten van een database kunt omzeilen door SQL-query’s te schrijven op CSV-bestanden en dataframes. Je gebruikte voorbeelddatabases om te oefenen met code schrijven. En je zag hoe je AI kunt gebruiken om SQL te genereren met natuurlijke taal en je fouten te herstellen.
Deze functies maken het veel makkelijker om te beginnen met SQL schrijven en productiever te zijn tijdens het leren en werken.
Til het naar een hoger niveau
Ga aan de slag met SQL in Workspace door in te loggen of je aan te melden voor een DataCamp-account. Je kunt ook de SQL-basisvaardigheden in onze skill track beheersen, waarmee je alle skills krijgt die je nodig hebt om met je data te werken en die te bevragen.
Richie helpt individuen en organisaties om beter met data en AI te werken. Hij is al data scientist sinds voordat het zo heette, en heeft twee boeken geschreven en veel DataCamp-cursussen over dit onderwerp gemaakt. Hij is host van de DataFramed-podcast en leidt het webinarprogramma van DataCamp.
Chat met AI Richie over elke aflevering van DataFramed - alle datahelden zijn welkom!

