· 9 years ago · Nov 21, 2016, 03:32 PM
1-- foodware
2-- 1. Erstellen Sie eine Abfrage zur Tabelle "Artikel". Die Abfrage enthält die Felder:
3 -- Artikel_Nr, Artikelname, Lagerbestand, Liefereinheit, Einzelpreis
4
5SELECT A.Artikel_Nr, A.Artikelname, A.Lagerbestand, A.Liefereinheit, A.Einzelpreis FROM artikel A;
6
7-- 2. Erstellen Sie eine neue Abfrage zur Tabelle "Personal". Die Felder der Abfrage sind:
8 -- Personal_nr, Nachname, Vorname, Strasse, PLZ, Ort, Land.
9 --Sortieren Sie die Abfrage aufsteigend nach dem Ort.
10SELECT Personal_nr, Nachname, Vorname, Strasse, PLZ, Ort, Land FROM personal ORDER BY Ort;
11
12-- 3. erstellen Sie eine Abfrage zur Tabelle "Bestellungen". Die Felder der Abfrage sind:
13 --Bestell_nr, Bestelldatum, Lieferdatum, Versanddatum, Kunden_Nr,
14 --Benötigt werden nur die Datensaätze mit der Kunden_nr "LINOD". Sortieren Sie die Abfrage nach dem Bestelldatum aufsteigend.
15
16SELECT B.Bestell_nr, B.Bestelldatum, B.Lieferdatum, B.Versanddatum, B.Kunden_Nr FROM Bestellungen B WHERE Kunden_Nr = "LINOD" ORDER BY B.Bestelldatum;
17
18-- 4. Erstellen Sie eine Abfrage zur Tabelle "Bestelldetails". Lassen Sie alle Datensätze anzeigen, deren Anzahl über 20 liegt. Die Abfrage enthält alle Felder aus der Tabelle.
19
20SELECT * FROM Bestelldetails WHERE Anzahl > 20 ORDER BY Anzahl DESC;
21
22-- 5. Eine neue Abfrage zur Tabelle "Lieferanten" soll die Felder:
23 -- Lieferanten_Nr, Firma, Ort zeigen.
24 -- Benötigt werden nur Lieferanten aus Cuxhaven bzw Ravenna.
25
26SELECT Lieferanten_Nr, Firma, Ort FROM Lieferanten WHERE ORT IN ('Cuxhaven','Ravenna');
27
28-- 6. In der nächsten Abfrage werden Informationen aus der Tabelle "Artikel" ausgewählt.
29 -- Von den Artikeln der Lieferanten_Nr 6 bzw 8 mit einem Lagerbestand über 30 werden die Felder
30 -- Artikel_nr, Artikelname, Lieferanten_Nr, Lagerbestand angezeigt.
31 -- Die Abfrage ist aufsteigend sortiert nach Artikelname.
32
33SELECT Artikel_nr, Artikelname, Lieferanten_Nr, Lagerbestand
34FROM Artikel WHERE Lieferanten_Nr IN ('6','8')
35AND Lagerbestand > 30 ORDER BY Artikelname;
36
37-- 7. Erstellen Sie eine Abfrage mit Feldern aus der Tabelle "Artikel":
38 -- Artikel_Nr, Artikelname, Lieferanten_Nr
39 -- und den Feldern Firma, Ort, Telefon aus der Tabelle "Lieferanten"
40
41SELECT A.Artikel_Nr, A.Artikelname, A.Lieferanten_Nr, L.Firma, L.Ort, L.Telefon FROM Artikel A JOIN Lieferanten L ON (A.Lieferanten_NR=L.Lieferanten_NR);
42
43-- 8. Erstellen Sie eine Abfrage zur Tabelle "Kunden" mit den Feldern:
44 -- Kunden_nr, Firma, ORT
45 --Es sollen nur Kunden angezeigt werden, deren Firmenname mit S beginnt.
46SELECT Kunden_NR, Firma, Ort FROM Kunden WHERE Firma LIKE 'S%';
47
48-- 9. eine Abfrage enthält aus der Tabelle "Lieferanten" die Felder:
49 -- Lieferanten_NR, Firma, Kontaktperson, Position, Ort.
50 -- Sortieren Sie die Abfrage nach dem Ort aufsteigend.
51 -- Als Ergebnis werden nur Lieferanten aus Tokyo oder Melbourne benötigt.
52 -- deren Kontaktperson die Position Marketingmanager hat.
53
54SELECT Lieferanten_NR, Firma, Kontaktperson, Ort FROM Lieferanten WHERE Ort IN ('Tokyo','Melbourne') AND Position = 'Marketingmanager';
55
56-- 10. Lassen Sie in einer Abfrage zur Tabelle "Bestellungen" alle Datensätze anzeigen, deren Bestelldatum nach dem 31.03.2007 liegt.
57 -- Die Abfrage enthält die Felder Bestell_nr, Kunden_NR, Bestelldatum, Lieferdatum
58
59SELECT Bestell_nr, Kunden_NR, Bestelldatum, Lieferdatum FROM Bestellungen WHERE Bestelldatum > ('2007-03-31');
60
61-- 11. Zur Überarbeitung des Datenbestandes, werden alle Kundendatensätze benötigt, bei denen die Faxnummer fehlt.
62 -- Legen Sie selbst fest, welche Felder die Abfrage enthalten soll.
63
64SELECT * FROM Kunden WHERE TELEFAX IS NULL;
65
66-- 12. Lassen Sie in einer Abfrage alle Bestellungen mit einer Bestellnummer zwischen
67 -- 10400 und 10500 anzeigen.
68SELECT * FROM Bestellungen WHERE Bestell_nr BETWEEN 10400 AND 10500;
69
70-- 13. Eine Abfrage soll den Lagermeister informieren bei welchen Artikeln die bestellten Einheiten größer als 50 sind. Felder in der Abfrage:
71 -- Artikelnummer, Artikelname, Liefereinheit, Lagerbestand und Bestellte Einheiten
72
73SELECT Artikel_Nr, Artikelname, Liefereinheit, Lagerbestand, Bestellte_Einheiten FROM Artikel WHERE Bestellte_Einheiten > 50;
74
75-- 14. Der Einkaufsleiter möchte wissen welche Bestellungen von der Person mit der Personalnummer "4" augenommen wurden. Angezeigt werden sollen folgende Felder:
76 -- Personalnummer, Empfänger, Ort, Bestelldatum.
77 -- Sortierng nach der Kundennummer aufsteigend, die aber nicht mit angezeigt werden soll.
78
79SELECT Personal_Nr, Empfaenger, Ort, Bestelldatum, Kunden_Nr FROM Bestellungen WHERE Personal_Nr =4 ORDER BY Kunden_Nr;
80
81-- 15. Die Geschäftslaage soll regelmäßig beurteilt werden. Dazu wird eine Abfrage auf alle Bestellungen , die in diesem Jahr eingegangen sind benötigt.
82
83SELECT Bestelldatum from bestellungen where Bestelldatum LIKE '2007%';
84
85-- 16. Das Lager möchte wissen welche Artikel in Kartons geliefert werden?
86 -- es sollen die felder Artikelnummer, Artikelname, und Liefereinheiten angezeigt werden.
87
88SELECT Artikel_Nr, artikelname, Liefereinheit FROM artikel WHERE Liefereinheit LIKE "%Kartons%";
89
90-- 17. Die Personalabteilung benötigt die Information, welcher Itarbeiter für welche Bestellungen zuständig ist.
91 -- Die Aufstellung soll aus der Tabelle Personal die Felder
92 -- Personalnummer, Nacname, und Vorname enthalten, aus der Tabelle Bestellungen die Felder
93 -- Bestell_Nr, Empfaenger, und Ort.
94
95SELECT P.personal_nr, P.Nachname, P.Vorname, B.bestell_nr, B.Empfaenger, B.Ort FROM personal P
96JOIN Bestellungen B ON (P.Personal_Nr = B.Personal_Nr);
97
98-- 18. Erstellen Sie mit SQL in der Datenbank foodware die Tabelle "Abteilung" mit den Feldern:
99 -- Abt_Nr, text, Feldgröße 3, Primärschlüssel
100 -- AbtName, text, Feldgröße 40, Eingabe erforderlich, eindeutiger Index.
101
102 -- Die AbtNr muss immer aus einem Großbuchstaben gefolgt von zwei ziffern bestehen zB."A12"
103
104CREATE TABLE `Abteilung` (
105`Abt_Nr` VARCHAR(3) PRIMARY KEY
106`AbtName` VARCHAR(40) NOT NULL AUTOINCREME
107)
108
109 CREATE TABLE IF NOT EXISTS `versandfirmen` (
110 `FIRMEN_NR` INT(5) NOT NULL,
111 `FIRMA` varchar(40) DEFAULT NULL
112) ENGINE=InnoDB DEFAULT CHARSET=latin1;
113
114--
115-- Daten für Tabelle `versandfirmen`
116--
117
118INSERT INTO `versandfirmen` (`FIRMEN_NR`, `FIRMA`) VALUES
119(1, 'Speedy Express'),
120(2, 'United Package'),
121(3, 'Federal Shipping');
122
123--
124-- Indizes der exportierten Tabellen
125--
126
127--
128-- Indizes für die Tabelle `artikel`
129--
130ALTER TABLE `artikel`
131 ADD PRIMARY KEY (`ARTIKEL_NR`);