Laboration SQL. Kom igång. http://www.tfe.umu.se/courses/systemteknik/webbkurser/d&w/laborationer/sql.ht...



Relevanta dokument
Sid 1 (9) Tillämpad fysik och elektronik Karin Fahlquist. Laboration: Databasdesign & SQL

Grunderna i SQL del 1

Databasutveckling Introduktion till SQL och TSQL

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Övningar i SQL. SQLAccess.doc Ove Lundgren

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

Introduktion till frågespråket SQL (v0.91)

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

Structured Query Language (SQL)

Konsumentklagomål på telefoni och bredband. Kvartalsrapport juli - september 2015

Se kurshemsidan för användbara länkar för att genomföra denna laboration.

Design och underhåll av databaser

Användarmanual Jobb i Stan. CV-Handboken. Registrering, jobbsökning mm. Copyright Aditro. All rights reserved.

SQL, nästlade delfrågor Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.

07/11/14. Databasteknik och informationssystem DD1370 F2. Allmänna frågor. Är Lab0 svårbegriplig? Nu: Clickers. Är Kurswebben svårbegriplig?

Användarmanual HOIF.org

KeyControl Sök person, nyckel eller cylinder

E t t E k o n o m i s y s t E m s p E c i E l lt a n pa s s at f ö r s v E n s k a k yrka n s v E r ksam het

Manual. Logga in. OBS! Kontrollera så att korrekt epostadress finns ifyllt. Ändra inga andra uppgifter!

WCMS-15, Webbutvecklare CMS

08/11/13. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Deadline på tisdag

Rebus Web-import av kunder

Manual för version V2

1 Skapa Tabell Skapa Relationer Redigera Relationer Redigera Fält i Tabell Lägga till Poster i Tabell...

Klicka på en sökrad för att få fram hänvisningar, fullständig information och möjlighet att skicka meddelande via e-post eller sms.

SNABBGUIDE TILL NEWSDESK

LITEN LATHUND TILL ALUMNDATABASEN

Konsumentklagomål på telefoni och bredband. Kvartalsrapport januari - mars 2016

Lathund. Skolverkets behörighetssystem för e-tjänster. Rollen huvudman

LATHUND FÖR MALVIN. 1 Registrera ny användare Logga In Glömt lösenord Annonsering Skapa annons...

Ansökan om specialkost i förskola och skola

Hälsouppgift för elev

Övning 2: I cellerna B19 och F26 ska du beräkna den totala ytan för respektive hus. I cell C28 den totala ytan, för båda husen.

RIGMOR SANDER POWERPOINT XP START Sid 1 (12) !" # " $ % &

Läs detta innan du fortsätter, eller skriv ut det, klicka runt lite och läs samtidigt.

Databaser och SQL - en kort introduktion

Skapa Gemensam Utbildningsplan (GUP) Skapa periodisk rapport, Närvarorapportering Avvikelserapport

Inkomstuppgift för beräkning av avgift för förskola, fritidshem och pedagogisk omsorg

Rapportgenerator handbok

NyA-webben Nyheter och planerad vidareutveckling

Handbok för EASY sekretessregister PASiS m fl Tandemsystem. Allmänt...2. Att logga in i EASY 3. Att registrera personuppgifter.. 4. Nyuppläggning...

Skapa gästkonton i Värmdö Kommun

Handbok Företagsinteckning

Frågor i ansökan om statsbidrag för läxhjälp år 2016 ideella föreningar

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar

Artiklar via UB:s sö ktja nst

Föreläsning 6: Introduktion av listor

Manual för punch-out handel via Göteborgsregionens kommunalförbund (GR) webbutik

MBX Mobilapp. Inloggning. Mobilapplikationens huvudmeny. MBX Mobilapp

Komma igång med Eventor

Användarguide Flexconnect.se Mobil Anknytning

Välkommen till QuickQuest 2.0!

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

AnmalanKA. Bra länkar. I vilken roll söker du Roll Typ av roll * (Se 1) (Endast ett val) Privatperson - Personlig e-legitimation

Tentamen för DD1370 Databasteknik och informationssystem

Instruktion

Internettjänsten Skolmjölk

ALEPH ver. 16 Sökning

Användarmanual för mätdatabasen Malin

Databaser och. SQL, utsökningar mot en tabell

Information till hemmen om elevens skolgång

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

Selma Manual Utbildningsplan. Studentcentrum/Ladokgruppen

SA91 Forskarstuderandes handledare

Lär dig sökmöjligheterna i Disgen 8

QlikView - Lathund för Flödesmodellen bas

Användarinstruktioner. PDBreg

Digital Display VDS / Bus2

75059 Stort sorteringsset

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

Ansökan om plats i förskola och pedagogisk omsorg

STADSBYGGNADSFÖRVALTNINGEN. Aktivitetsstöd. Behörigheten Föreningsadministratör. Datum: Version 2. Sidan 1 (30)

Tentamen för DD1370 Databasteknik och informationssystem

En liten introduktion till SLI Community

Rolladministration i PaletteArena 5.3

1. Nyheter. Innehåll. Vårdpersonal utan personlig förskrivarkod (Förbered uppgifter)

MANUAL kvalitetsregister

SCHOLA COMAI ELEV WEBBKALENDER / SCHEMA VERSION 1.1. [Skriv text]

Datum: Version 1.6. Sidan 1 (43)

Användarhandledning Rapportgenerator Version: 1.1

Selma - Manual Programtillfälle

Rapportering till FORA 2016

Javisst! Uttrycken kan bli komplicerade, och för att få lite överblick över det hela så gör vi det så enkelt som möjligt för oss.

Tabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post

Grunderna i SQL del 1

Maria Österlund. Inför festen. Mattecirkeln Addition 2

Användarmanual flexconnect.se Administratör

Avvikelserapport. Avvikelserapport. Fantastic Four Page 1

Handledning för användare av ALLASKA

Manual till Lathunden. En programvara från Genetica

13/11/14. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Vad är en Databas?

Tips och tricks 1 Cadcorp SIS

Lathund till PsycINFO (OVID)

2. Registrera en ny medlem

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

Framsteg med resultatrapportering

Netwise CMG Voice , Rev 1.0, CJ 1(16)

Lathund till PEP. AND: begränsar sökningen, båda sökorden måste förekomma i samma referens, t.ex. infantile AND sexuality

2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.

Transkript:

Page 1 of 5 Laboration SQL Syfte: Under denna laboration skall du bekanta dig med SQL. När laborationen är genomförd skall du klara av att själv formulera enklare SQL-frågor för att kunna ta fram information ur tillgängliga databaser. Kom igång Starta Access Öppna Nwind.mdb Välj fliken Frågor Välj att skapa en ny fråga Välj Stäng när du blir erbjuden att lägga till tabeller Välj SQL i visamenyn Sätt igång och skriv SQL-frågan Datablad i visamenyn eller knappen Utropstecken för att köra frågan Ovan beskrivs databasen NWIND, dess tabeller och attribut och relationerna dem emellan. Strecken visar vilka fält som hör ihop, skissen tolkas så att en kund kan ha många order medan en order hör till en kund. Besvara följande frågor mha av SQL. För godkänt skall frågorna med fet stil redovisas. För pluss redovisas endast de understrukna uppgifterna. Frågorna nedan fungerar på den Northwinddatabas som finns att ladda ner från denna sida (se länken längre upp). Fungerar inte det aktuella datumet eller ordernummret kan det bero på att en annan Norwind-databas används, byt då till datum/ordernummer som existerar i databasen. Enkla frågor 1.Visa alla anställda. 2.Visa namnen för alla anställda. 3.Visa alla speditörer.

Page 2 of 5 Enkla villkor 4.Ta fram all information om den anställde med anställningsnummer 1. 5.Ta fram all information om de anställda som jobbar som säljare. 6.Vad har Vice VD för hemtelefonnummer (befattning=vice VD, försäljning)? 7.Vad heter kontaktpersonen på Svensk Sjöföda AB? 8.Vilka produkter har ett enhetspris på 80,00 kr? Sortering Vid sortering används uttrycket ORDER BY följt av ett eller flera fältnamn. Sortering ser på försata fältnamnet, finns flera med samma värde sorteras de på nästa fältnamn (telefonkatalogen skulle se ut: ORDER BY Efternamn, Förnamn). Om fältnamnet följs av DESC sorteras i fallande ordning, annars i stigande (man kan skriva ASC men det behövs inte). Visa alla anställda sorterade i... 9.Bokstavsordning. 10. Yngst först. 11.Visa alla kunderna, sortera dem i landsordning och för de i samma land skall sortera ske på ort. LIKE, AND och OR Ibland kan man inte använda = för att göra jämförelser eftersom det man söker inte är lika med utan bara nästan lika med. Då används istället för = ordet LIKE tillsammans med? och eller *, där? motsvarar exakt ett valfritt tecken och * motsvarar godtyckligt antal godtyckliga tecken. EXEMPEL 1 Visa alla Anställda vars postnummer innehåller siffran 5 WHERE Postnummer LIKE "*5*" AND och OR används för att kombinera flera villkor, AND innebär att båda villkoren måste vara uppfyld, OR att minst ett måsta vara uppfyllt EXEMPEL 2 Visa alla Anställda vars postnummer innehåller siffran 5 eller siffran 7 WHERE Postnummer LIKE "*5*" OR Postnummer LIKE "*7*" EXEMPEL 3Visa alla Anställda vars postnummer innehåller siffran 5 och som bor i Frankrike WHERE Postnummer LIKE "*5*" AND Land="Frankrike" 12.Vem av de anställda har studerat vid Trinity College?

Page 3 of 5 13.Visa de anställda på Northwind som har efternamn som slutar på "son" 14.Visa namnet och anknytning för de anställda som har chefsbefattningar (ordet chef i befattning eller vd i befattning Beräkningar Beräkningar kan göras direkt i såväl SELECT-delen som WHERE-delen av SQL-satsen: SELECT pris*2 AS DyrtPris Genom att använda ordet AS enligt ovanstående exempel kan man kalla det beräknade fält för något vettigt. 15.Man funderar på att höja priserna med 7% Hur mycket skulle de olika produkterna kosta efter en eventuell prishöjning, kalla priset för "Nytt pris "? Visa även det gamla priset (Hakparenteser runt, annars tolkar Access Nytt Pris som två ord) Det beräknade fältet visar bara siffror, Enhetspris i tabellen är formaterat som valuta, därför visas det som valuta 16.Vilket värde finns på lager för varje produkt (enhetspris*antal i Lager), kallas Lagervärde 17.Visa vilka produkter som har mindre antal i lager än beställningspunkten, visa även de aktuella siffrorna 18.Vilka produkter behöver beställas (Beställningspunkt underskriden och beställt antal=0) 19.Vilka produkter behöver beställas (Antal i lager+beställt antal < Beställningspunkt) Två tabeller När man behöver data från mer än en tabell får man helt enkelt ta med de tabellerna i FROM-delen samt att man i WHERE-delen talar om hur de tabellerna hänger ihop EX: Vilken speditör skickar vilka order: SELECT Företagsnamn, Ordernr FROM [Order], Speditörer WHERE [Skickas Med]=Speditörsnr Om Skickas med hade hetat Speditörsnr hade man varit tvungen att tala om vilken tabell Speditörsnummer kommer ifrån, i så fall hade villkoret varit: WHERE Order.Speditörsnr = Speditörer.Speditörsnr Hakparenteserna ovan behövs runt Skickas Med för att tala om att det är ett fält, annars tolkas det som två ord, runt Order behövs hakparenteserna för att markera att order är ett fält eller tabell och inte det Order som används i ORDER BY 20.Till vilken kategori hör produkten Lakkalikööri? 21.Vilka produkter levereras av Karkki Oy? 22.Vad heter de som levererar lax? Fler tabeller

Page 4 of 5 På motsvarande sätt som med två tabeller 23.Vem levererar de varor som har sålts på order nummer 10249 Aggregering Sammanslagning, man vill visa data aggregerad, dvs summerad på något vis. Användbara funktioner är sum (summa), count (antal), max (största värde), min (minsta värde), Avg (medelvärde av average), stdev (standardavvikelse av standard deviation). Vill man se ett eller flera aggregerade värden för olika grupper kombineras det med satsen group by som kommer efter FROM-satsen: EXEMPEL 1 visa dyraste,billigaste, och genomsnittligt pris samt antal produkter för alla produkter: SELECT Max(Enhetspris) AS Dyrast, Min(Enhetspris) AS Billigast, Avg(Enhetspris) AS Genomsnitt, Count(*) AS AntalProdukter FROM Produkter EXEMPEL 2: visa dyraste, billigaste, och genomsnittligt pris samt antal produkter för respektive kategori SELECT Kategorinamn, Max(Enhetspris) AS Dyrast, Min(Enhetspris) AS Billigast, Avg(Enhetspris) AS Genomsnitt, Count(*) AS AntalProdukter FROM Produkter, kategorier WHERE Produkter.Kategorinr=Kategorier.Kategorinr GROUP BY Kategorinamn När man räknar antal kan man även skriva SELECT Count(*) eftersom man räknar poster. 24.Hur många säljare finns det på Northwind? 25.Hur många produkter finns det under kategorin Konditorivaror? 26.Hur stor var den totala ordersumman 96-12-12? (Datum är alltid krångliga, skriv det med brädgårdar runt: #1996-12-12#), tänk på rabatten. 27.Hur mycket har sålts av respektive produkt, visa även kategorinamn och produktnummer? 28.Vad är medelförsäljningen för produkterna inom respektive kategori? Nästlade frågor Ibland behöver man ställa frågan i två led, då kan nästlade frågor vara behändligt. De skrivs som en ny fråga inom parentes i WHERE-delen EX1: Om det finns order utan Orderspecifikationer, visa all info om de/den ordern: FROM [order] WHERE ordernr NOT IN (SELECT ordernr FROM orderspecifikationer) 29.Vilken kund har inte beställt något? Uppdateringar Om man vill uppdatera data i tabeller kan man använda SQL till det också. I stället för SELECT används UPDATE för ändringar INSERT för Tillägg och DELETE för borttagning

Page 5 of 5 EXEMPEL 1: Allan produkter som kostar 500 kr eller mer skall ha beställningspunkt på 5 UPDATE Produkter SET Beställningspunkt=5 WHERE Enhetspris>=500 EXEMPEL 2: Höj beställningspunkten till det dubbla för alla produkter som kostar mindre än 100 kr UPDATE Produkter SET Beställningspunkt=Beställningspunkt*2 WHERE Enhetspris<100 30.Priserna för alla produkter i kategorin 4 skall höjas med 20%. 31.Priserna för alla produkter utom för de i kategori 4 skall höjas med 5% 32. En kund i Tyskland har fått fel landsnummer i sitt telefonnummer. Ändra telefonnummer det är +47 03 00 07 43 21 men skall vara +49 03 00 07 43 21.