Difference between revisions of "6238 Databaser Agenda/SQL JoinOrderGroup"
(→SUB Query) |
(→6238 Databaser Agenda SQL JoinOrderGroup) |
||
Line 1: | Line 1: | ||
=6238 Databaser Agenda SQL JoinOrderGroup= | =6238 Databaser Agenda SQL JoinOrderGroup= | ||
+ | Fra [[File:6238_Databaser_Agenda/SQLCreateInsertSelect]] har vi lavet tabeller til viste database | ||
+ | [[File:6238 Databaser Agenda SQLCreateInsertSelect2.png|100px]] | ||
+ | |||
+ | [[File:6238 Databaser Agenda SQLCreateInsertSelect5.png|135px]] | ||
+ | [[File:6238 Databaser Agenda SQLCreateInsertSelect7.png|119px]] | ||
+ | |||
+ | [[File:6238 Databaser Agenda SQLCreateInsertSelect4.png|78px]] | ||
+ | [[File:6238 Databaser Agenda SQLCreateInsertSelect3.png|100px]] | ||
+ | [[File:6238 Databaser Agenda SQLCreateInsertSelect6.png|50px]] | ||
==SUB Query== | ==SUB Query== |
Revision as of 08:06, 27 October 2015
Contents
6238 Databaser Agenda SQL JoinOrderGroup
Fra File:6238 Databaser Agenda/SQLCreateInsertSelect har vi lavet tabeller til viste database
SUB Query
Med subquery kan du neste flere select sætninger inde I hinanden. Her findes navnet på den sæger som har telefon nr 45653465
SELECT Navn FROM Saelger WHERE MedarbNr IN
(SELECT Saelger FROM TelefonNr WHERE Nr = '45653465');
Join
Med JOIN kan man lave forbindelse mellem to forskellige tabeller. /* Vælg alt fra Saelger JOIN TelefonNr på Medarbejder nr */ SELECT * FROM Saelger JOIN TelefonNr ON TelefonNr.Saelger = Saelger.MedarbNr;
Bemærk ‘Alias’ Saelger,RegistreringNr og Telefon der ændre navnet på output /* Vælg Saelger,RegistreringsNr, TelefonNr fra JOIN af Saelger, TelefonNr og Bil */ SELECT Saelger.Navn AS Saelger, Bil.RegNr AS RegistreringsNr, TelefonNr.Nr AS Telefon FROM Saelger JOIN TelefonNr ON TelefonNr.Saelger = Saelger.MedarbNr JOIN Bil ON Bil.Saelger = Saelger.MedarbNr;
Order
Med Order kan man sorterer på de data som selectes /* Vælg alt fra Kunde JOIN Saelger hvor sælger er startet før 2003. Sorter på Kunde.Navn */ SELECT * FROM Kunde JOIN Saelger ON Kunde.Saelger = Saelger.MedarbNr WHERE Saelger.StartDato < '20030101' ORDER BY Kunde.Navn;
Group by
/* Tæl alle records gruperet på Saelger sorteret på saelger navn */ SELECT Saelger.Navn, COUNT(*) AS Kunder FROM Kunde JOIN Saelger ON Kunde.Saelger = Saelger.MedarbNr GROUP BY Saelger.Navn ORDER BY Saelger.Navn;
Having
/* Tæl alle records gruperet på Saelger sorteret på saelger navn men udskriv kun de som er større en 4*/ SELECT Saelger.Navn, COUNT(*) AS Kunder FROM Kunde JOIN Saelger ON Kunde.Saelger = Saelger.MedarbNr GROUP BY Saelger.Navn HAVING COUNT(*) > 4 ORDER BY Saelger.Navn;