datenbanken:sql
Table of Contents
SQL
SQL = Structured Query Language
SELECT-Befehl
Was wird gesucht?
SELECT `Nachname`, `Vorname`
Welche Tabelle?
FROM Mitarbeiter
Doppelte Ergebnisse nicht anzeigen:
SELECT DISTINCT
Alle Spalten ausgeben
SELECT *
Filter
Zahlenfelder
arithmetische Operatoren:
+, -, * und /
Vergleichen von Zahlenfeldern Vergleichsoperatoren:
=, <, >, <=, >=, !=, BETWEEN
Text
SELECT CONCAT (Nachname,',', Vorname) FROM Mitarbeiter;
Worte die in eine bestimmte Schablone herausfiltern
LIKE
SELECT Nachname FROM Mitarbeiter WHERE Nachname LIKE "D%";
Datum und Uhrzeit
CURRENT_DATE() CURRENT_TIME() CURRENT_TIMESTAMP() DAY(Datum) MONTH(Datum) YEAR(Datum)
SELECT DAY(geburtsdatum), MONTH(geburtsdatum), nachname, vorname FROM personal ORDER BY MONTH(geburtsdatum);
SELECT nachname, vorname, geburtsdatum FROM personal WHERE YEAR(CURRENT_DATE) - YEAR(geburtsdatum) < 50 OR YEAR(CURRENT_DATE) - YEAR(geburtsdatum) = 50 AND MONTH(CURRENT_DATE) < MONTH(geburtsdatum) OR YEAR(CURRENT_DATE) - YEAR(geburtsdatum) = 50 AND MONTH(CURRENT_DATE) = MONTH(geburtsdatum) AND DAY(CURRENT_DATE) < DAY(geburtsdatum);
SELECT KategorieNr, SUM(Lagerbestand) AS Summe FROM Artikel GROUP BY KategorieNr;
Übungsarbeit Lösung
/* Aufgabe 1 */ SELECT `Raumname` FROM `Raume` WHERE Klimaanlage = "y"; /* Aufgabe 2 */ SELECT * FROM `Kontakte` ORDER BY PLZ; /* Aufgabe 3 */ SELECT `Raumname` FROM `Raeume` WHERE Raumname LIKE "1%"; /* Aufgabe 4 */ SELECT `PCName`, `Hersteller` FROM Rechner r, Komponentenliste kl, Komponenten k WHERE r.PCID = kl.PCID AND kl.KompID = k.KompID ORDER BY PCName, Hersteller; /* Aufgabe 5 */ SELECT PCName, Firma FROM rechner r, komponentenliste kl, komponenten k, kontakte kon WHERE r.PCID = kl.PCID AND kl.kompID = k.kompID AND k.ServicepartnerID = kon.KID; /* Aufgabe 6 */ SELECT k.komponente, DateDiff(letzten Service Termin, Anschaffungsdatum) / 365 FROM rechner r, komponentenliste kl, Komponenten k WHERE r.PCID = kl.PCID AND kl.kompID = k.kompID; /* Aufgabe 7 */ SELECT Raumname, PCName FROM Raeume r LEFT JOIN Rechner PC ON PC.Raum = r.RaumID WHERE PCName IS NULL; /* Aufgabe 8 */ SELECT k1.Firma, k2.Firma, k1.Ansprechpartner FROM kontakte k1, kontakte k2 WHERE k1.Ansprechpartner = k2.Ansprechpartner AND k1.KID > k2.KID;
/* Artikelnamen mit "Sir " */ SELECT `Artikelname` FROM `artikel` WHERE `Artikelname` LIKE "Sir %"; /* Mitarbeiter, die Bestellungen bearbeitet haben bevor sie 30 waren */ SELECT p.Vorname, p.Nachname FROM personal p, bestellungen b WHERE p.PersonalNr = b.PersonalNr AND DATEDIFF(b.Bestelldatum,p.Geburtsdatum)/365 < 30;
datenbanken/sql.txt · Last modified: 2024/02/17 19:03 by 127.0.0.1