83 lines
2.3 KiB
SQL
83 lines
2.3 KiB
SQL
#A
|
|
#1
|
|
|
|
SELECT * FROM Artikel
|
|
WHERE LOWER(Art_Bezeichnung) LIKE "%schmerzmittel%";
|
|
|
|
#2
|
|
|
|
SELECT Kunde.*, SUM(RgPos_Menge*RgPos_Preis) FROM Kunde
|
|
JOIN Rechnung ON Kunde.Kd_Id = Rechnung.Rg_KdId
|
|
JOIN RechnungPosition ON Rechnung.Rg_Id = RechnungPosition.RgPos_RgID
|
|
GROUP BY Kunde.Kd_Id
|
|
ORDER BY SUM(RgPos_Menge*RgPos_Preis) DESC;
|
|
|
|
#3
|
|
|
|
SELECT Art_Id, Art_Nummer, Art_Bezeichnung, Art_Preis,
|
|
SUM(RechnungPosition.RgPos_Menge) AS MengeGesamt,
|
|
COUNT(RechnungPosition.RgPos_Id) AS AnzahlRechPos FROM Artikel
|
|
JOIN RechnungPosition ON Artikel.Art_Id = RechnungPosition.RgPos_ArtId
|
|
GROUP BY Art_Id;
|
|
|
|
#4
|
|
|
|
SELECT LEFT(Kunde.Kd_PLZ, 1) AS Gebiet, SUM(RgPos_Menge*RgPos_Preis) AS Umsatz FROM Kunde
|
|
LEFT JOIN Rechnung ON Kunde.Kd_Id = Rechnung.Rg_KdId
|
|
LEFT JOIN RechnungPosition ON Rechnung.Rg_Id = RechnungPosition.RgPos_RgID
|
|
GROUP BY LEFT(Kunde.Kd_PLZ, 1)
|
|
ORDER BY SUM(RgPos_Menge*RgPos_Preis) DESC;
|
|
|
|
#B
|
|
#1
|
|
CREATE TABLE Lieferant (
|
|
Lieferer_Nr INT AUTO_INCREMENT,
|
|
Firma VARCHAR(30),
|
|
Strasse VARCHAR(30),
|
|
PLZ VARCHAR(10),
|
|
Ort VARCHAR(30),
|
|
BLZ VARCHAR(30),
|
|
Konto_Nr VARCHAR(30),
|
|
PRIMARY KEY(Lieferer_Nr),
|
|
FOREIGN KEY(BLZ) REFERENCES Bank(BLZ)
|
|
);
|
|
|
|
#2
|
|
ALTER TABLE Lieferant
|
|
ADD Telefonnummer VARCHAR(30);
|
|
|
|
#3
|
|
ALTER TABLE Artikel
|
|
MODIFY Artikelnummer INT;
|
|
|
|
#4
|
|
DELETE FROM Lieferant
|
|
WHERE Lieferant.Lieferer_Nr = 2;
|
|
|
|
#5
|
|
SELECT Artikel.*, Lieferant.* FROM Artikel
|
|
LEFT JOIN Artikel_Lieferbeziehung ON Artikel.Artikel_Nr = Artikel_Lieferbeziehung.Artikel_Nr
|
|
LEFT JOIN Lieferant.Lieferer_Nr = Artikel_Lieferbeziehung.Lieferer_Nr;
|
|
|
|
#6
|
|
DROP TABLE Artikel;
|
|
#Eine Tabelle die an anderen Stellen kann nicht gelöscht werden ohne die Datenintegrität zu zerstören
|
|
|
|
#7
|
|
INSERT INTO Artikel(Artikel_Nr, Artikel, Bestand, Meldebestand) VALUES
|
|
(111, "PC", 10, 4);
|
|
|
|
#8
|
|
UPDATE Artikel SET Artikel="PC Klasse" WHERE Artikel_Nr=111;
|
|
|
|
#9
|
|
SELECT Lieferant.*, Artikel.* FROM Lieferant
|
|
LEFT JOIN Artikel_Lieferbeziehung ON Lieferant.Lieferer_Nr = Artikel_Lieferbeziehung.Lieferer_Nr;
|
|
LEFT JOIN Artikel ON Artikel.Artikel_Nr = Artikel_Lieferbeziehung.Artikel_Nr;
|
|
|
|
#10
|
|
SELECT * FROM Artikel
|
|
JOIN Artikel_Lieferbeziehung ON Artikel.Artikel_Nr = Artikel_Lieferbeziehung.Artikel_Nr
|
|
WHERE Artikel_Lieferbeziehung.Einkaufspreis = (
|
|
SELECT MAX(Artikel_Lieferbeziehung.Einkaufspreis) FROM Artikel_Lieferbeziehung
|
|
);x |