SQL-opgaver 5 løsning



Relaterede dokumenter
1. Basal select med (stjerne)

Import af rekursivt (parent-child) hierarki i Palo

Relationel Algebra og SQL

Views etc. Databaser

Opgave 1 Basal select med (stjerne)

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

Dette er din billet

Introduktion til SQL queries

Trin 1 INSERT INTO Debitor (DebitorNr, KundeKategori, KreditMax, SidstRykket, Sælger ) VALUES (20121, 10, 40000, NULL, "Bjarne Larsen");

DB undervisning 01-01

Sådan benytter du HOTLINEs ServiceDesk (SD)

SQL Server 2008 Spatiale eksempler. Plan & Miljø, GIS

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Opgave 1. Opret de 4 tabeller i FTSFrontend programmet. Indsæt mindst 3 forskellige tabelværdier i kunder, målerstatus, byer og regning..

Eksamen, DSDS, efterår 2007

Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler.

K Ø B E N H A V N S U N I V E R S I T E T P E R S O N A L E S E K T I O N E N. ScanPas. Fiktivt cpr.nr. Decentral vejledning

HåndOffice Foreningsdata

A11: Last Year s Exam

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form

Projekt 1 Database. Cphbusiness Lyngby Multimediedesigner, 3. semester mul-a12e, gruppe 1

Databasesystemer. IT Universitetet i København 7. juni 2005

Det sprogpædagogiske kørekort 2012/2013. Modul 2: Blog for begyndere

Sidste forelæsning. Jacob Aae Mikkelsen. 28. april 2013 IMADA. Jacob Aae Mikkelsen (IMADA) Sidste forelæsning 28.

Fakturering kan foretages som en massefakturering eller for en enkelt ordre.

En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin

Opstart og adgange til Ejersiden

Rediger eller opret institutionsmedarbejder på en ungdomsuddannelse

SERVICE NOW Det nye finansielle løsningsværktøj

Relationel Algebra...1. Indholdsfortegnelse...1. Operationer på den relationelle model...2

QUICK GUIDE. til E-handel

Eksamen, DSDS, forår 2009

TimeLog A/S. TimeLog Project. Standardfakturalinjeeksport. Thomas S. Gudmandsen. w w w. t i m e l o g. d k

Karens lille vejledning til Access

Velkommen til ABC Analyzer! Grundkursusmanual 2 vil introducere dig til ABC Analyzers mere avancerede funktioner, bl.a.:

Database. Pr jekt. Hold CLmul-a14e Gruppe 3 3. semester Vejledere: Tue Becher Ivan R. Frederiksen

Kursus/workshop: SQL

Booking system. Instruktion til bookingsystem

Jørgen Koch. Access. Opgavehæfte

Oprettet 12 / 2015 Projekt: 9738, FarmtalOnline Side 1 af 6

Data lagring. 2. iteration (implement backend)

Databasesystemer. IT Universitetet i København 8. juni 2006

Databaser Obligatorisk opgave 2 Vejledende løsning

REGIONERNES LØNNINGS- OG TAKSTNÆVN. Vejledning til indplacering af maskinmestre på Overenskomst for professionsbachelorer på det tekniske område

SQL Server 2016 Data Adgang

Guide til at udfylde klageskema. når du som patient vil klage over sundhedsfaglig behandling

Varehusrapporter. Indhold

Udl.nr. / Person ID Dato modtaget Modtaget af (myndighedens stempel og navn)

Skolemedarbejder 9. klasse. Brugervejledning Optagelse.dk

Databaseadgang fra Java

Novotek Planning Systems A/S 2013 Version 1.0 Jan 2013 ROB-EX 4.2

Brugermanual. DKF s Self service på

3. semester, 2. projekt: Database

Loginvejledning, tips og hjælp

VERSION JULI 2013

Post Danmark forsendelsesmodul til Magento (Pacsoft)

Begrænsninger i SQL. Databaser, efterår Troels Andreasen

Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach 2002

MANUAL TIL RESULTATINDBERETNING OG OPDATERING AF KLUBSPECIFIKKE DATA I DANSK TENNIS FORBUND OG UNIONERNES HOLDTURNERINGSPROGRAM (HTP)

Troels Østergaard Serup

HIGHLIGHTS TIL EPOS REKRUTTERING VERSIONSOPDATERING

Dubletkontrol af kontaktpersoner

Eksamen, DSDS, efterår 2008

Kontaktpersoner Vejledere, programudvalg, skoleudvalg mv.

Reeksamen, DSDS, forår 2008

Database optimering - Indeks

GLS forsendelses modul til Magento

Opgave 1: Log ind og skift password m.m.

Databaser Obligatorisk opgave 1

WORKCYCLUS. Handlingsplan. Vers 4.0. Juni Workcompany A/S. Amagertorvet 33, 4.sal. DK-1160 København K.

RETNINGSLINJER FOR ADRESSEVALIDERING

The EAL Jobportal. How to get started

Skriftlig eksamen i kurset. Informationssystemer

Opstartsvejledning til ipad. Tinderhøj Skole

Bilag d. SYSTEMDOKUMENTATION til Inventarsystemet MS Access løsning

Manual til de lokale webredaktører

Anne Randorff Højen

Personer med sygefravær på valgfrit antal dage/perioder (Rapport-ID: 79)

Buildvejledning (Release, patch og testversion)

1. Send Digitalt knappen anvendes til at afsende meddelelsen til de valgte modtagere. (Alt- S)

Vejledning til PRO2TAL Bager/Online. Debitorer. Oplysninger om dine kunder findes under Debitor/Kunder.

Opgaver til modul 5 Access 97

Appendix C - Databeskrivelse

Søren Løbner (lobner) ddb Databaser

Navision Stat 9.2. HR Medarbejder. Overblik. Side 1 af 11. ØSY/SKH 5. december 2018

SDB. MySQL Installation Guide

Dataanalyse og databaser

KOM I GANG MED IPAD MINI

Dokumentation. Udbyder : sms1919.dk Service : sms-dialog Version : v1.01

Vejledning om dybe links i Digital Post. Februar 2016

Vejledning til udfyldelse af ansøgningsskema vedrørende efteruddannelse

Oprettelse af ph.d. opslag

Jørgen Koch. och. Access. Normalisering m.v.

Kontaktpersoner. Indhold

Screening af borgeren (til sundhedsrådgivere)

Quick Guide til Visit Gæstesystem i Backend.

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Løsning af skyline-problemet

Hvordan laver jeg en faktura i C5? Brugervejledning, Microsoft Dynamics C5 (op til version C5 2012)

Data Discount Erhverv A/S

Transkript:

SQL-opgaver 5 løsning Diagrammet herunder viser, hvordan kildetabellerne gerne skal se ud efter at have løst de tidligere opgaver. Scriptet opgave_5.txt indeholder også disse tabelstrukturer og alle data, som er nødvendige for at gennemføre nedenstående opgaver. Parentesen angiver hvor mange rækker, der skal returneres af forespørgslen til hver opgave, hvilke man kan bruge som tjek uden at se den vejledende løsning. 1. Vis alle kunder der er i kundetabellen. (6 rækker) ; 2. Vis alle data fra medarbejdertabellen om medarbejder med id 257. (1 række) FROM medarbejdere WHERE medarbejder_id = 257; Bent Møller Madsen 8. september 2006 1

3. Vis kunde(-navn), telefonnr og email på alle kunder sorteret efter kundenavn. (6 rækker) SELECT kunde, telefonnr, email 4. Vis kunder, hvis kundenavn indeholder et ø. (Resultat lig 4 rækker) WHERE kunde LIKE '%ø%'; 5. Vis kunder der ikke har et telefonnr. (1 række) WHERE telefonnr IS NULL; 6. Vis navn og pris på alle varer, der koster mellem 400 og 800 kr. (3 rækker) WHERE pris BETWEEN 400 AND 800; 7. Lav en forespørgsel på kundenavn, adresse, postnr og bynavn. (6 rækker) SELECT kunde, adresse, postnr, bynavn NATURAL JOIN postnumre; 8. Lav en forespørgsel der viser hvilket medarbejdere der har indtastet hvilke ordrer. Følgende data skal med: Fornavn, efternavn, ordre_id og oprettelsesdato. (5 rækker) SELECT fornavn, efternavn, ordre_id, oprettelsesdato FROM medarbejdere m JOIN ordrer o ON (m.medarbejder_id = o.ansvarlig_id); 9. Udvid ovenstående forespørgsel til at vise alle medarbejdere også selvom de ikke har været ansvarlig for nogle ordrer. (8 rækker) SELECT fornavn, efternavn, ordre_id, oprettelsesdato FROM medarbejdere m LEFT OUTER JOIN ordrer o ON (m.medarbejder_id = o.ansvarlig_id); Bent Møller Madsen 8. september 2006 2

10. Hvor mange rækker er der i ordrerliner? (1 række) SELECT COUNT(*) FROM ordrelinier; 11. Hvor mange unikke efternavne er der i medarbejdertabellen? (1 række) SELECT COUNT(DISTINCT(efternavn)) 12. Vis fornavn og efternavn sammentrukket til et felt for alle medarbejdere. (6 rækker) SELECT fornavn ' ' efternavn AS navn 13. Vis medarbejdernes initialer (uden mellemnavne). (6 rækker) SELECT substr(fornavn,1,1) substr(efternavn,1,1) AS initialer 14. Mogens Simonsen har været til lønforhandling, hvilket har medført at hans månedslån stiger med 8%. Gennemfør denne opdatering. UPDATE medarbejdere SET loen = loen * 1.08 WHERE fornavn = 'Mogens' AND efternavn = 'Simonsen'; 15. Vis varenavn og priser afrundet til hele kroner. (7 rækker) SELECT vare, ROUND(pris) ; 16. Vis det samlede antal enheder der er bestilt/solgt grupperet på hver ordre. (5 rækker) SELECT ordre_id, SUM(antal) FROM ordrelinier GROUP BY ordre_id; 17. Lav en forespørgsel der viser alle email-adresser for kunder og medarbejdere. (9 rækker) SELECT email FROM medarbejdere UNION SELECT email ; Bent Møller Madsen 8. september 2006 3

18. Lav en forespørgsel på tabellen ordrer, der udover ordre_id, oprettelsesdato og leveringsdato skal indeholder en ekstra kolonne med overskriften leveringstid. Indholdet af denne skal være en af 3 tekster: Langsom, Normal eller Hurtig afhængig af om forskellen mellem leveringsdato og oprettelsesdato er over 14 dage, mellem 7 og 14 dage eller under 7 dage. (5 rækker) SELECT ordre_id, oprettelsesdato, leveringsdato, (CASE WHEN leveringsdato oprettelsesdato < 7 THEN 'Hurtig' WHEN leveringsdato oprettelsesdato > 14 THEN 'Langsom' ELSE 'Normal' END) leveringstid FROM ordrer; 19. Vis navnet på den dyreste vare, vi sælger. (1 række) SELECT vare WHERE pris = ( SELECT max(pris) ) ; 20. Vis navnet på de varer, som vi endnu ikke solgt nogle af. (2 rækker) SELECT vare WHERE vare_id IN ( SELECT vare_id MINUS SELECT vare_id FROM ordrelinier) ; 21. Lav en hierarkisk forespørgsel på tabellen afdelinger med udgangspunkt i den overordnede virksomhed. Afdeling_id, afdeling og niveau/level skal vises. (5 rækker) SELECT afdeling_id, afdeling, LEVEL FROM afdelinger CONNECT BY PRIOR afdeling_id = afdeling_far START WITH afdeling_far is null; 22. Vis kundenavn, ordrestatus og hvilke varer (varenavn, antal og pris) vi har solgt til hver kunde. Sorter resultatet efter kundenavn. (10 rækker) SELECT kunde, status, vare, antal, pris NATURAL JOIN ordrer NATURAL JOIN ordrelinier NATURAL Bent Møller Madsen 8. september 2006 4

23. Tilføj en kolonne til ovenstående forespørgsel der ganger antal med pris. (10 rækker) SELECT kunde, status, vare, antal, pris, antal * pris AS total NATURAL JOIN ordrer NATURAL JOIN ordrelinier NATURAL 24. Opret et view kaldet kunder_varer pba. forespørgslen i ovenstående opgave. CREATE VIEW kunder_varer AS SELECT kunde, status, vare, antal, pris, antal * pris AS total NATURAL JOIN ordrer NATURAL JOIN ordrelinier NATURAL _varer; 25. Vis den totale omsætning for alle de varer der er bestilt/solgt. (1 række) SELECT SUM(total) AS omsaetning _varer; Bent Møller Madsen 8. september 2006 5