Difference between revisions of "6238 Databaser Agenda/SQL JoinOrderGroup"

From Teknologisk videncenter
Jump to: navigation, search
(Created page with "=6238 Databaser Agenda SQL JoinOrderGroup= ==SQL Fortsat== Denne præsentation er en fortsættelse af SQL CreateInsertSelect ==SUB Query== Med subquery kan du neste flere select...")
 
(6238 Databaser Agenda SQL JoinOrderGroup)
Line 1: Line 1:
 
=6238 Databaser Agenda SQL JoinOrderGroup=
 
=6238 Databaser Agenda SQL JoinOrderGroup=
==SQL Fortsat==
+
 
Denne præsentation er en fortsættelse af
 
SQL CreateInsertSelect
 
 
==SUB Query==
 
==SUB Query==
 
Med subquery kan du neste flere select sætninger inde I hinanden.
 
Med subquery kan du neste flere select sætninger inde I hinanden.

Revision as of 08:59, 27 October 2015

6238 Databaser Agenda SQL JoinOrderGroup

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;

Logical querry processing

6238 Databaser Agenda SQL JoinOrderGroup1.png

6238 Databaser Agenda SQL JoinOrderGroup2.gif