SQL - standardiserat frågespråk

Gör ett användargränssnitt Variabler i SQL-satsen

För att komma vidare måste vi lära oss litet SQL. Med SQL-kod kan man bland mycket annat söka fram poster med utgångspunnkt från önskade kriterier. Det här är grundmallen för en sökning:

SELECT kolumnnamn FROM tabellnamn WHERE kriterium

Exempel

Vi har tabellen Kunder och vill söka fram alla poster där kolumnen Ort = Nora. Svaret som visar resultatet skall vara från kolumn Namn. SQL-koden blir då:

SELECT Namn FROM Kunder WHERE Ort LIKE 'Nora'

Observera att om kolumnen har dataformatet text, som kolumnen Ort har, skrivs namnen inom citationstecken, och att det skall vara LIKE i stället för ett likhetstecken. Är datatypen tal skrivs det utan citationstecken och med likhetstecken.

En SQL-sats utförs från höger till vänster så den lyder alltså: Där kolumnen Ort = 'Nora' i tabellen Kunder välj ut Namn. Vid komplicerade SQL-satser kan det vara bra att tänka på detta lässättet från höger till vänster.

Resultatet blir Olle och Anna.

Vill man ha två kolumner som svar, till exempel Namn och KundID, skriver man:

SELECT KundID , Namn FROM Kunder WHERE Ort = 'Nora'

Resultatet blir 3 Olle och 4 Anna

Vill man att alla kolumner i tabellen skall visas som svar skriver man:

SELECT * FROM Kunder WHERE Ort = "Nora"

Vill man ha resultatet i en ny tabell skriver man:

SELECT * INTO NYTABELL FROM Kunder WHERE Ort = 'Nora'

NYTABELL motsvarar namnet du ger till den nya tabellen.

Använda jokertecken

Vi ser också ett problem i koden. Koden letar med exakt utseende efter det vi skriver och vi vet kanske inte hur texten är inskriven i databasen. Till exempel finns det ett mellanslag mellan två ord i fältet. Om vi då inte skriver ett mellanslag på rätt ställe, får vi ingen sökträff alls.

Det här är något man bör tänka på när man skapar en databas. Nu löser vi problemet genom att använda jokertecken, som ersätter vilket tecken som helst i texten:

SELECT * FROM Kunder WHERE Ort LIKE '%Norra%'

Om vi nu skriver in Norra kommer sökningen att hitta Norra och vad det för övrigt står i fältet. Vi hade fått träff även om fältet hade innehållit Stora Norra Bengtstorp.

Om vi skriver:

SELECT * FROM Kunder WHERE Ort LIKE '%Nor%'

får vi träff på både Nora och Norra Bengtstorp.

Gör ett användargränssnitt Variabler i SQL-satsen

SupportData.Net
©