Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SQL-Datentypen INTEGERGanze Zahlen (4 Byte -2.147.483.648...2.147.483.647) CHAR(n) TEXT(n) TEXT Zeichenkette mit max. n Zeichen (n<=255) LONG INTEGERGanze.

Ähnliche Präsentationen


Präsentation zum Thema: "SQL-Datentypen INTEGERGanze Zahlen (4 Byte -2.147.483.648...2.147.483.647) CHAR(n) TEXT(n) TEXT Zeichenkette mit max. n Zeichen (n<=255) LONG INTEGERGanze."—  Präsentation transkript:

1 SQL-Datentypen INTEGERGanze Zahlen (4 Byte ) CHAR(n) TEXT(n) TEXT Zeichenkette mit max. n Zeichen (n<=255) LONG INTEGERGanze Zahlen (4 Byte)DATEDatum (tttt.MM.jjjj) BYTEGanze Zahlen (1 Byte 0…255)TIMEUhrzeit (hh:mm:ss) COUNTERGanze Zahlen (4 Byte) AutowertDATETIMEDatum/Uhrzeit (Datum + Uhrzeit –Format) CURRENCYWährung (8 Byte)BOOLEANJa-Nein SINGLERationale Zahlen ( 4 Byte, , Genauigkeit bis 7 Stellen) LONGTEXTMemo größer 255 Zeichen DOUBLERationale Zahlen (8 Byte, , Genauigkeit bis 15 Stellen)

2 SQL Datenbeschreibungssprache Anweisungen zur Bearbeitung der Datenbankstruktur CREATE z.B. Tabelle erstellen: create table Kunden(K_Nr counter,Name text(30) NOT NULL,Vorname text(30),Geburtsdatum date,Primary Key(K_Nr)); ALTER Datenstruktur ändern, z.B.: Spalte einfügen: alter table Kunden add column PLZ integer; Datentyp ändern: alter table Kunden alter PLZ text(5); Spalte als Primärschlüssel deklarieren: alter table Artikel add Primary Key (Art_Nr); DROP z.B. Tabelle löschen: drop table Artikel; Datenmanipulationssprache Anweisungen zum Einfügen und Bearbeiten der Daten INSERT D aten einfügen -vollständigen Datensatz einfügen: insert into Kunden values(5,Fleißig,Lieschen,,#13/03/1980#); - einzelne Felder einfügen insert into Kunden (Name,Geburtsdatum) values(Ratlos, #12/12/1982#); UPDATE D aten bearbeiten/aktualisieren Lieschen heiratet und ändert ihren Nachnamen: update kunden set Name=Müller where K_Nr=5; Preiserhöhung für alle Artikel um 1% update artikel set Preis=Preis*1.01; DELETE D aten löschen Einen Datensatz aus der Tabelle löschen: delete * from Kunden where K_Nr=5; Alle Daten in einer Tabelle löschen: delete * from Kunden;

3 SQL Erstellen von Auswahlabfragen Auswahl von Datenfeldern aus 1 oder mehreren Tabellen; Auswahl von Datensätzen SELECT Feld(er) FROM Tabelle(n) WHERE Kriterien ______ =optional Einfache Beispiele: SELECT * FROM Kunden; SELECT Name, Vorname FROM Kunden; SELECT Name, Vorname FROM Kunden WHERE KNr=5; Operatoren: BETWEEN SELECT Name, Vorname FROM Kunden WHERE KNr BETWEEN 5 and 10; (SELECT Name, Vorname FROM Kunden WHERE KNr>=5 and KNr<=10); IN SELECT Name, Vorname FROM Kunden WHERE KNr IN(12,21,15); (SELECT Name, Vorname FROM Kunden WHERE KNr=12 or KNr=21 or KNr=15;) LIKE SELECT Name, Vorname FROM Kunden WHERE Name LIKE B*; SELECT Name, Vorname,Geburtsdatum FROM Kunden WHERE Geburtsdatum LIKE *.12.*; (Alle im Juni geborenen Kunden)

4 SQL Abfragen mit mehreren Tabellen SELECT Name, Vorname,Abteilung FROM Kunden,Abteilung WHERE Kunden.AbtNr=Abteilung.AbtNr; (Kunden.AbtNr=Abteilung.AbtNr Verknüpfung zwischen Primär- und Fremdschlüsselfeld herstellen) SELECT Name, Vorname,Abteilung.AbtNr,Abteilung FROM Kunden,Abteilung WHERE Kunden.AbtNr=Abteilung.AbtNr; (Bei Feldern, die in mehreren Tabellen vorkommen, Tabelle angeben, aus der das Feld angezeigt werden soll) Daten sortieren: ORDER BY Kriterium ASCaufsteigend sortieren (Standard) ORDER BY Kriterium DESCabsteigend sortieren Beispiele: SELECT * FROM Kunden ORDER BY Name; SELECT Name, Vorname FROM Kunden WHERE KNr IN(12,21,15) ORDER BY Name DESC; SELECT Name, Vorname,Abteilung FROM Kunden,Abteilung WHERE Kunden.AbtNr=Abteilung.AbtNr ORDER BY Abteilung.AbtNr;

5 SQL - Gruppenfunktionen Lassen Sie die Anzahl der in der gleichnamigen Tabelle gespeicherten Teilnehmer ermitteln. Feldname für die Ausgabe: Teilnehmerzahl SELECT Count(*) AS Teilnehmerzahl FROM Teilnehmer; Ermitteln Sie die Anzahl der Teilnehmer aus dem PLZ-Bezirk 84. Feldname PLZ84 SELECT Count(*) AS PLZ84 FROM Teilnehmer WHERE PLZ like "84*"; Ermitteln Sie den durchschnittlichen UESatz in der Tabelle Dozent. Feldname: UESatzMittel SELECT Avg(UESatz) AS UESatzMittel FROM Dozent; Ermitteln Sie die Gesamtdauer aller Lehrgänge in der Tabelle Inhalt. Feldname: Lehrgangsdauer SELECT Sum(DauerUE) AS Lehrgangsdauer FROM Inhalt; Ermitteln Sie die höchste und die kürzeste Lehrgangsdauer. Feldnamen: MaxDauer, MinDauer SELECT Max(DauerUE) AS MaxDauer, Min(DauerUE) AS MinDauer FROM Inhalt; COUNT(*)Anzahl der Datensätze AVGMittelwert MAXMaximaler Wert MINMinimaler Wert SUMSumme Übungsdatenbank Lehrgänge

6 SQL - Gruppenfunktionen Mit Hilfe der Tabellen Teilnehmer und Ort soll ermittelt werden, wie viele Teilnehmer aus den jeweiligen Orten stammen. Angabe der Felder Ort und Anzahl SELECT Ort.Ort, Count(*) AS Anzahl FROM Teilnehmer, Ort WHERE Ort.PLZ=Teilnehmer.PLZ GROUP BY Ort; Für den Dozenten Heider soll ermittelt werden, welchen Rechnungsbetrag er aus den von ihm durchgeführten Lehrgängen erzielt. (Lehrgangsdauer gespeichert in Tabelle Inhalt; Satz für eine Unterrichtseinheit gespeichert in Tabelle Dozent) SELECT Name, sum(DauerUE*UESatz) AS Rechnungsbetrag FROM Lehrgang, Inhalt, Dozent WHERE Name="Heidert" AND Lehrgang.INR=Inhalt.INR AND Dozent.DNR=Lehrgang.DNR GROUP BY Name; GROUP BY fasst alle Datensätze, die in einem Feld gleiche Werte enthalten (z.B. ORT), zu einem Datensatz zusammen. Mit COUNT, SUM, usw.…kann dann ein zusammenfassender Wert für diesen Datensatz berechnet werden.

7 SQL - Gruppenfunktionen Es sollen angezeigt werden: Orte und Summe der Mietkosten, gruppiert und sortiert nach Orten: SELECT Ort, Sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY Ort ORDER BY Ort; Orte, Anzahl der Mieter, Gesamtmietkosten, gruppiert nach Orten SELECT Ort, count(*) AS Anzahl, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort; Orte, Summe der Mietkosten, gruppiert nach Orten, jedoch ohne Berlin SELECT Ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter WHERE ort<>"Berlin GROUP BY ort ORDER BY ort; oder SELECT Ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort HAVING ort<>"Berlin ORDER BY ort; Die Anzahl der Datensätze kann mit HAVING und einer Bedingung weiter eingeschränkt werden. Die HAVING-Klausel folgt dabei immer dem GROUP BY-Konstrukt Übungsdatenbank Mieter

8 SQL - Gruppenfunktionen Orte, Gesamtmietkosten, jedoch ohne Hamburg; eine Gruppe soll nur dann erscheinen, wenn die Gesamtmietkosten nicht negativ sind. SELECT Ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter WHERE ort<>"Hamburg GROUP BY ort HAVING sum(Mietkosten)>=0; oder SELECT Ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort HAVING sum(Mietkosten)>=0 and ort<>"Hamburg Orte, Anzahl der Mieter und Gesamtmietkosten, gruppiert nach Orten. Es sollen nur die Orte enthalten sein, in denen mehr als zwei Mieter wohnen. SELECT Ort, count(*) AS Anzahl, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort HAVING count(*)>2; Summe der Gesamtmietkosten bis maximal -200,00 jener Orte, in denen mindestens zwei Mieter wohnen SELECT ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort HAVING count(*)>=2 and sum(Mietkosten)<=-200;


Herunterladen ppt "SQL-Datentypen INTEGERGanze Zahlen (4 Byte -2.147.483.648...2.147.483.647) CHAR(n) TEXT(n) TEXT Zeichenkette mit max. n Zeichen (n<=255) LONG INTEGERGanze."

Ähnliche Präsentationen


Google-Anzeigen