relationale datenbanken iv mit sql datenbankeinträge heraussuchen
TRANSCRIPT
![Page 1: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/1.jpg)
Relationale Datenbanken IV
Mit SQL Datenbankeinträge heraussuchen
![Page 2: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/2.jpg)
![Page 3: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/3.jpg)
Beispiel Tabellen Reisebüro
![Page 4: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/4.jpg)
Grundstruktur einer Suchabfrage
SELECT
WHERE
FROM
ORDER BY
![Page 5: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/5.jpg)
Grundidee Suchabfragen führen die gegebenen Tabellen in neue
Tabellen über. Die neuen Tabellen enthalten genau die gesuchte
Information.
![Page 6: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/6.jpg)
BeispielSELECT Name,Preis FROM Reiseziel WHERE Preis < 3000;
![Page 7: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/7.jpg)
Was kann hinter FROM stehen? Der Name einer einzelnen Tabelle Die Namen mehrerer Tabellen, durch Operatoren voneinander getrennt
mit riesigem Abstand wichtigster Operator: Komma zweitwichtigster Operator: UNION (Aneinanderreihung zweier
gleichartiger Tabellen)
SELECT Reiseziel.Name AS Reiseziel,Land.Name AS Land FROM Reiseziel,Land WHERE Reiseziel.LandNr =
Land.LandNr
Beispiel:
Reiseziel.Name und Land.Name zur Unterscheidung
AS zur Veränderung der Spaltentitel (ohne AS wäre der Titel beider Spalten jeweils "Name" gewesen)
![Page 8: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/8.jpg)
Was bedeutet "Reiseziel,Land" ?SELECT * FROM Reiseziel,Land liefert:+--------+---------------+-------------+--------+--------+-----------------+-----------------+----------+---------+| ZielNr | Name | Preis | LandNr | LandNr | Name | Sprache | Waehrung | Vorwahl |+--------+---------------+-------------+--------+--------+-----------------+-----------------+----------+---------+| 17 | Antananarivo | 5.00 | 3 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 18 | Stalingrad | 5.00 | 3 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 19 | Geldspeicher | 99999999.99 | 3 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 20 | Zuurich | 0.00 | 10005 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 21 | Kamtschakta | 8300.00 | 3 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 23 | New York | 200.00 | 10006 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 24 | Grand Canyon | 1947.00 | 10006 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 25 | Sidney | 2803.00 | 10012 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 26 | Darwin | 3400.00 | 10012 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 27 | Peking | 220.00 | 10016 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 28 | Berlin | 250.00 | 10010 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 29 | Edinburgh | 350.00 | 10009 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 30 | Valetta | 884.15 | 10017 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 31 | Atlantis | 300000.00 | 1 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 32 | Loch Ness | 430.00 | 10009 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 33 | San Francisco | 1100.00 | 10006 | 1 | Schlaraffenland | Germanisch | Bäz | 123456 || 17 | Antananarivo | 5.00 | 3 | 3 | Russland | Russisch | Rub | 4423 || 18 | Stalingrad | 5.00 | 3 | 3 | Russland | Russisch | Rub | 4423 || 19 | Geldspeicher | 99999999.99 | 3 | 3 | Russland | Russisch | Rub | 4423 || 20 | Zuurich | 0.00 | 10005 | 3 | Russland | Russisch | Rub | 4423 || 21 | Kamtschakta | 8300.00 | 3 | 3 | Russland | Russisch | Rub | 4423 || 23 | New York | 200.00 | 10006 | 3 | Russland | Russisch | Rub | 4423 || 24 | Grand Canyon | 1947.00 | 10006 | 3 | Russland | Russisch | Rub | 4423 || 25 | Sidney | 2803.00 | 10012 | 3 | Russland | Russisch | Rub | 4423 || 26 | Darwin | 3400.00 | 10012 | 3 | Russland | Russisch | Rub | 4423 || 27 | Peking | 220.00 | 10016 | 3 | Russland | Russisch | Rub | 4423 || 28 | Berlin | 250.00 | 10010 | 3 | Russland | Russisch | Rub | 4423 || 29 | Edinburgh | 350.00 | 10009 | 3 | Russland | Russisch | Rub | 4423 || 30 | Valetta | 884.15 | 10017 | 3 | Russland | Russisch | Rub | 4423 || 31 | Atlantis | 300000.00 | 1 | 3 | Russland | Russisch | Rub | 4423 || 32 | Loch Ness | 430.00 | 10009 | 3 | Russland | Russisch | Rub | 4423 || 33 | San Francisco | 1100.00 | 10006 | 3 | Russland | Russisch | Rub | 4423 || 17 | Antananarivo | 5.00 | 3 | 4 | Narnia | ugaugish | efw | 69 || 18 | Stalingrad | 5.00 | 3 | 4 | Narnia | ugaugish | efw | 69 || 19 | Geldspeicher | 99999999.99 | 3 | 4 | Narnia | ugaugish | efw | 69 || 20 | Zuurich | 0.00 | 10005 | 4 | Narnia | ugaugish | efw | 69 |
SELECT * heisst: Alle Spalten auswählen
![Page 9: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/9.jpg)
Fortsetzung I| 21 | Kamtschakta | 8300.00 | 3 | 4 | Narnia | ugaugish | efw | 69 || 23 | New York | 200.00 | 10006 | 4 | Narnia | ugaugish | efw | 69 || 24 | Grand Canyon | 1947.00 | 10006 | 4 | Narnia | ugaugish | efw | 69 || 25 | Sidney | 2803.00 | 10012 | 4 | Narnia | ugaugish | efw | 69 || 26 | Darwin | 3400.00 | 10012 | 4 | Narnia | ugaugish | efw | 69 || 27 | Peking | 220.00 | 10016 | 4 | Narnia | ugaugish | efw | 69 || 28 | Berlin | 250.00 | 10010 | 4 | Narnia | ugaugish | efw | 69 || 29 | Edinburgh | 350.00 | 10009 | 4 | Narnia | ugaugish | efw | 69 || 30 | Valetta | 884.15 | 10017 | 4 | Narnia | ugaugish | efw | 69 || 31 | Atlantis | 300000.00 | 1 | 4 | Narnia | ugaugish | efw | 69 || 32 | Loch Ness | 430.00 | 10009 | 4 | Narnia | ugaugish | efw | 69 || 33 | San Francisco | 1100.00 | 10006 | 4 | Narnia | ugaugish | efw | 69 || 17 | Antananarivo | 5.00 | 3 | 5 | Entenhausen | Quak | Ent | 2345 || 18 | Stalingrad | 5.00 | 3 | 5 | Entenhausen | Quak | Ent | 2345 || 19 | Geldspeicher | 99999999.99 | 3 | 5 | Entenhausen | Quak | Ent | 2345 || 20 | Zuurich | 0.00 | 10005 | 5 | Entenhausen | Quak | Ent | 2345 || 21 | Kamtschakta | 8300.00 | 3 | 5 | Entenhausen | Quak | Ent | 2345 || 23 | New York | 200.00 | 10006 | 5 | Entenhausen | Quak | Ent | 2345 || 24 | Grand Canyon | 1947.00 | 10006 | 5 | Entenhausen | Quak | Ent | 2345 || 25 | Sidney | 2803.00 | 10012 | 5 | Entenhausen | Quak | Ent | 2345 || 26 | Darwin | 3400.00 | 10012 | 5 | Entenhausen | Quak | Ent | 2345 || 27 | Peking | 220.00 | 10016 | 5 | Entenhausen | Quak | Ent | 2345 || 28 | Berlin | 250.00 | 10010 | 5 | Entenhausen | Quak | Ent | 2345 || 29 | Edinburgh | 350.00 | 10009 | 5 | Entenhausen | Quak | Ent | 2345 || 30 | Valetta | 884.15 | 10017 | 5 | Entenhausen | Quak | Ent | 2345 || 31 | Atlantis | 300000.00 | 1 | 5 | Entenhausen | Quak | Ent | 2345 || 32 | Loch Ness | 430.00 | 10009 | 5 | Entenhausen | Quak | Ent | 2345 || 33 | San Francisco | 1100.00 | 10006 | 5 | Entenhausen | Quak | Ent | 2345 || 17 | Antananarivo | 5.00 | 3 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 18 | Stalingrad | 5.00 | 3 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 19 | Geldspeicher | 99999999.99 | 3 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 20 | Zuurich | 0.00 | 10005 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 21 | Kamtschakta | 8300.00 | 3 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 23 | New York | 200.00 | 10006 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 24 | Grand Canyon | 1947.00 | 10006 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 25 | Sidney | 2803.00 | 10012 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 26 | Darwin | 3400.00 | 10012 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 27 | Peking | 220.00 | 10016 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 28 | Berlin | 250.00 | 10010 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 29 | Edinburgh | 350.00 | 10009 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 30 | Valetta | 884.15 | 10017 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 31 | Atlantis | 300000.00 | 1 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 32 | Loch Ness | 430.00 | 10009 | 33 | Swagistan | Yolobekisch | $$$ | 5555 || 33 | San Francisco | 1100.00 | 10006 | 33 | Swagistan | Yolobekisch | $$$ | 5555 |
![Page 10: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/10.jpg)
Fortsetzung II| 17 | Antananarivo | 5.00 | 3 | 10005 | Whatever | AnotherLanguage | WE | 999 || 18 | Stalingrad | 5.00 | 3 | 10005 | Whatever | AnotherLanguage | WE | 999 || 19 | Geldspeicher | 99999999.99 | 3 | 10005 | Whatever | AnotherLanguage | WE | 999 || 20 | Zuurich | 0.00 | 10005 | 10005 | Whatever | AnotherLanguage | WE | 999 || 21 | Kamtschakta | 8300.00 | 3 | 10005 | Whatever | AnotherLanguage | WE | 999 || 23 | New York | 200.00 | 10006 | 10005 | Whatever | AnotherLanguage | WE | 999 || 24 | Grand Canyon | 1947.00 | 10006 | 10005 | Whatever | AnotherLanguage | WE | 999 || 25 | Sidney | 2803.00 | 10012 | 10005 | Whatever | AnotherLanguage | WE | 999 || 26 | Darwin | 3400.00 | 10012 | 10005 | Whatever | AnotherLanguage | WE | 999 || 27 | Peking | 220.00 | 10016 | 10005 | Whatever | AnotherLanguage | WE | 999 || 28 | Berlin | 250.00 | 10010 | 10005 | Whatever | AnotherLanguage | WE | 999 || 29 | Edinburgh | 350.00 | 10009 | 10005 | Whatever | AnotherLanguage | WE | 999 || 30 | Valetta | 884.15 | 10017 | 10005 | Whatever | AnotherLanguage | WE | 999 || 31 | Atlantis | 300000.00 | 1 | 10005 | Whatever | AnotherLanguage | WE | 999 || 32 | Loch Ness | 430.00 | 10009 | 10005 | Whatever | AnotherLanguage | WE | 999 || 33 | San Francisco | 1100.00 | 10006 | 10005 | Whatever | AnotherLanguage | WE | 999 || 17 | Antananarivo | 5.00 | 3 | 10006 | USA | Englisch | USD | +1 || 18 | Stalingrad | 5.00 | 3 | 10006 | USA | Englisch | USD | +1 || 19 | Geldspeicher | 99999999.99 | 3 | 10006 | USA | Englisch | USD | +1 || 20 | Zuurich | 0.00 | 10005 | 10006 | USA | Englisch | USD | +1 || 21 | Kamtschakta | 8300.00 | 3 | 10006 | USA | Englisch | USD | +1 || 23 | New York | 200.00 | 10006 | 10006 | USA | Englisch | USD | +1 || 24 | Grand Canyon | 1947.00 | 10006 | 10006 | USA | Englisch | USD | +1 || 25 | Sidney | 2803.00 | 10012 | 10006 | USA | Englisch | USD | +1 || 26 | Darwin | 3400.00 | 10012 | 10006 | USA | Englisch | USD | +1 || 27 | Peking | 220.00 | 10016 | 10006 | USA | Englisch | USD | +1 || 28 | Berlin | 250.00 | 10010 | 10006 | USA | Englisch | USD | +1 || 29 | Edinburgh | 350.00 | 10009 | 10006 | USA | Englisch | USD | +1 || 30 | Valetta | 884.15 | 10017 | 10006 | USA | Englisch | USD | +1 || 31 | Atlantis | 300000.00 | 1 | 10006 | USA | Englisch | USD | +1 || 32 | Loch Ness | 430.00 | 10009 | 10006 | USA | Englisch | USD | +1 || 33 | San Francisco | 1100.00 | 10006 | 10006 | USA | Englisch | USD | +1 || 17 | Antananarivo | 5.00 | 3 | 10007 | Schweiz | Deutsch | CHF | +41 || 18 | Stalingrad | 5.00 | 3 | 10007 | Schweiz | Deutsch | CHF | +41 || 19 | Geldspeicher | 99999999.99 | 3 | 10007 | Schweiz | Deutsch | CHF | +41 || 20 | Zuurich | 0.00 | 10005 | 10007 | Schweiz | Deutsch | CHF | +41 || 21 | Kamtschakta | 8300.00 | 3 | 10007 | Schweiz | Deutsch | CHF | +41 || 23 | New York | 200.00 | 10006 | 10007 | Schweiz | Deutsch | CHF | +41 || 24 | Grand Canyon | 1947.00 | 10006 | 10007 | Schweiz | Deutsch | CHF | +41 || 25 | Sidney | 2803.00 | 10012 | 10007 | Schweiz | Deutsch | CHF | +41 || 26 | Darwin | 3400.00 | 10012 | 10007 | Schweiz | Deutsch | CHF | +41 || 27 | Peking | 220.00 | 10016 | 10007 | Schweiz | Deutsch | CHF | +41 || 28 | Berlin | 250.00 | 10010 | 10007 | Schweiz | Deutsch | CHF | +41 || 29 | Edinburgh | 350.00 | 10009 | 10007 | Schweiz | Deutsch | CHF | +41 || 30 | Valetta | 884.15 | 10017 | 10007 | Schweiz | Deutsch | CHF | +41 |
![Page 11: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/11.jpg)
Fortsetzung III| 31 | Atlantis | 300000.00 | 1 | 10007 | Schweiz | Deutsch | CHF | +41 || 32 | Loch Ness | 430.00 | 10009 | 10007 | Schweiz | Deutsch | CHF | +41 || 33 | San Francisco | 1100.00 | 10006 | 10007 | Schweiz | Deutsch | CHF | +41 || 17 | Antananarivo | 5.00 | 3 | 10008 | Kanada | Englisch | CAD | +12 || 18 | Stalingrad | 5.00 | 3 | 10008 | Kanada | Englisch | CAD | +12 || 19 | Geldspeicher | 99999999.99 | 3 | 10008 | Kanada | Englisch | CAD | +12 || 20 | Zuurich | 0.00 | 10005 | 10008 | Kanada | Englisch | CAD | +12 || 21 | Kamtschakta | 8300.00 | 3 | 10008 | Kanada | Englisch | CAD | +12 || 23 | New York | 200.00 | 10006 | 10008 | Kanada | Englisch | CAD | +12 || 24 | Grand Canyon | 1947.00 | 10006 | 10008 | Kanada | Englisch | CAD | +12 || 25 | Sidney | 2803.00 | 10012 | 10008 | Kanada | Englisch | CAD | +12 || 26 | Darwin | 3400.00 | 10012 | 10008 | Kanada | Englisch | CAD | +12 || 27 | Peking | 220.00 | 10016 | 10008 | Kanada | Englisch | CAD | +12 || 28 | Berlin | 250.00 | 10010 | 10008 | Kanada | Englisch | CAD | +12 || 29 | Edinburgh | 350.00 | 10009 | 10008 | Kanada | Englisch | CAD | +12 || 30 | Valetta | 884.15 | 10017 | 10008 | Kanada | Englisch | CAD | +12 || 31 | Atlantis | 300000.00 | 1 | 10008 | Kanada | Englisch | CAD | +12 || 32 | Loch Ness | 430.00 | 10009 | 10008 | Kanada | Englisch | CAD | +12 || 33 | San Francisco | 1100.00 | 10006 | 10008 | Kanada | Englisch | CAD | +12 || 17 | Antananarivo | 5.00 | 3 | 10009 | Schottland | Englisch | GBP | +44 || 18 | Stalingrad | 5.00 | 3 | 10009 | Schottland | Englisch | GBP | +44 || 19 | Geldspeicher | 99999999.99 | 3 | 10009 | Schottland | Englisch | GBP | +44 || 20 | Zuurich | 0.00 | 10005 | 10009 | Schottland | Englisch | GBP | +44 || 21 | Kamtschakta | 8300.00 | 3 | 10009 | Schottland | Englisch | GBP | +44 || 23 | New York | 200.00 | 10006 | 10009 | Schottland | Englisch | GBP | +44 || 24 | Grand Canyon | 1947.00 | 10006 | 10009 | Schottland | Englisch | GBP | +44 || 25 | Sidney | 2803.00 | 10012 | 10009 | Schottland | Englisch | GBP | +44 || 26 | Darwin | 3400.00 | 10012 | 10009 | Schottland | Englisch | GBP | +44 || 27 | Peking | 220.00 | 10016 | 10009 | Schottland | Englisch | GBP | +44 || 28 | Berlin | 250.00 | 10010 | 10009 | Schottland | Englisch | GBP | +44 || 29 | Edinburgh | 350.00 | 10009 | 10009 | Schottland | Englisch | GBP | +44 || 30 | Valetta | 884.15 | 10017 | 10009 | Schottland | Englisch | GBP | +44 || 31 | Atlantis | 300000.00 | 1 | 10009 | Schottland | Englisch | GBP | +44 || 32 | Loch Ness | 430.00 | 10009 | 10009 | Schottland | Englisch | GBP | +44 || 33 | San Francisco | 1100.00 | 10006 | 10009 | Schottland | Englisch | GBP | +44 || 17 | Antananarivo | 5.00 | 3 | 10010 | Deutschland | Deutsch | EUR | +49 || 18 | Stalingrad | 5.00 | 3 | 10010 | Deutschland | Deutsch | EUR | +49 || 19 | Geldspeicher | 99999999.99 | 3 | 10010 | Deutschland | Deutsch | EUR | +49 || 20 | Zuurich | 0.00 | 10005 | 10010 | Deutschland | Deutsch | EUR | +49 || 21 | Kamtschakta | 8300.00 | 3 | 10010 | Deutschland | Deutsch | EUR | +49 || 23 | New York | 200.00 | 10006 | 10010 | Deutschland | Deutsch | EUR | +49 || 24 | Grand Canyon | 1947.00 | 10006 | 10010 | Deutschland | Deutsch | EUR | +49 || 25 | Sidney | 2803.00 | 10012 | 10010 | Deutschland | Deutsch | EUR | +49 || 26 | Darwin | 3400.00 | 10012 | 10010 | Deutschland | Deutsch | EUR | +49 || 27 | Peking | 220.00 | 10016 | 10010 | Deutschland | Deutsch | EUR | +49 |
![Page 12: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/12.jpg)
Fortsetzung IV| 28 | Berlin | 250.00 | 10010 | 10010 | Deutschland | Deutsch | EUR | +49 || 29 | Edinburgh | 350.00 | 10009 | 10010 | Deutschland | Deutsch | EUR | +49 || 30 | Valetta | 884.15 | 10017 | 10010 | Deutschland | Deutsch | EUR | +49 || 31 | Atlantis | 300000.00 | 1 | 10010 | Deutschland | Deutsch | EUR | +49 || 32 | Loch Ness | 430.00 | 10009 | 10010 | Deutschland | Deutsch | EUR | +49 || 33 | San Francisco | 1100.00 | 10006 | 10010 | Deutschland | Deutsch | EUR | +49 || 17 | Antananarivo | 5.00 | 3 | 10011 | Neuseeland | Englisch | NZD | +64 || 18 | Stalingrad | 5.00 | 3 | 10011 | Neuseeland | Englisch | NZD | +64 || 19 | Geldspeicher | 99999999.99 | 3 | 10011 | Neuseeland | Englisch | NZD | +64 || 20 | Zuurich | 0.00 | 10005 | 10011 | Neuseeland | Englisch | NZD | +64 || 21 | Kamtschakta | 8300.00 | 3 | 10011 | Neuseeland | Englisch | NZD | +64 || 23 | New York | 200.00 | 10006 | 10011 | Neuseeland | Englisch | NZD | +64 || 24 | Grand Canyon | 1947.00 | 10006 | 10011 | Neuseeland | Englisch | NZD | +64 || 25 | Sidney | 2803.00 | 10012 | 10011 | Neuseeland | Englisch | NZD | +64 || 26 | Darwin | 3400.00 | 10012 | 10011 | Neuseeland | Englisch | NZD | +64 || 27 | Peking | 220.00 | 10016 | 10011 | Neuseeland | Englisch | NZD | +64 || 28 | Berlin | 250.00 | 10010 | 10011 | Neuseeland | Englisch | NZD | +64 || 29 | Edinburgh | 350.00 | 10009 | 10011 | Neuseeland | Englisch | NZD | +64 || 30 | Valetta | 884.15 | 10017 | 10011 | Neuseeland | Englisch | NZD | +64 || 31 | Atlantis | 300000.00 | 1 | 10011 | Neuseeland | Englisch | NZD | +64 || 32 | Loch Ness | 430.00 | 10009 | 10011 | Neuseeland | Englisch | NZD | +64 || 33 | San Francisco | 1100.00 | 10006 | 10011 | Neuseeland | Englisch | NZD | +64 || 17 | Antananarivo | 5.00 | 3 | 10012 | Australien | Englisch | AUD | +61 || 18 | Stalingrad | 5.00 | 3 | 10012 | Australien | Englisch | AUD | +61 || 19 | Geldspeicher | 99999999.99 | 3 | 10012 | Australien | Englisch | AUD | +61 || 20 | Zuurich | 0.00 | 10005 | 10012 | Australien | Englisch | AUD | +61 || 21 | Kamtschakta | 8300.00 | 3 | 10012 | Australien | Englisch | AUD | +61 || 23 | New York | 200.00 | 10006 | 10012 | Australien | Englisch | AUD | +61 || 24 | Grand Canyon | 1947.00 | 10006 | 10012 | Australien | Englisch | AUD | +61 || 25 | Sidney | 2803.00 | 10012 | 10012 | Australien | Englisch | AUD | +61 || 26 | Darwin | 3400.00 | 10012 | 10012 | Australien | Englisch | AUD | +61 || 27 | Peking | 220.00 | 10016 | 10012 | Australien | Englisch | AUD | +61 || 28 | Berlin | 250.00 | 10010 | 10012 | Australien | Englisch | AUD | +61 || 29 | Edinburgh | 350.00 | 10009 | 10012 | Australien | Englisch | AUD | +61 || 30 | Valetta | 884.15 | 10017 | 10012 | Australien | Englisch | AUD | +61 || 31 | Atlantis | 300000.00 | 1 | 10012 | Australien | Englisch | AUD | +61 || 32 | Loch Ness | 430.00 | 10009 | 10012 | Australien | Englisch | AUD | +61 || 33 | San Francisco | 1100.00 | 10006 | 10012 | Australien | Englisch | AUD | +61 || 17 | Antananarivo | 5.00 | 3 | 10013 | Österreich | Deutsch | EUR | +43 || 18 | Stalingrad | 5.00 | 3 | 10013 | Österreich | Deutsch | EUR | +43 || 19 | Geldspeicher | 99999999.99 | 3 | 10013 | Österreich | Deutsch | EUR | +43 || 20 | Zuurich | 0.00 | 10005 | 10013 | Österreich | Deutsch | EUR | +43 || 21 | Kamtschakta | 8300.00 | 3 | 10013 | Österreich | Deutsch | EUR | +43 || 23 | New York | 200.00 | 10006 | 10013 | Österreich | Deutsch | EUR | +43 || 24 | Grand Canyon | 1947.00 | 10006 | 10013 | Österreich | Deutsch | EUR | +43 || 25 | Sidney | 2803.00 | 10012 | 10013 | Österreich | Deutsch | EUR | +43 || 26 | Darwin | 3400.00 | 10012 | 10013 | Österreich | Deutsch | EUR | +43 |
![Page 13: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/13.jpg)
Fortsetzung V| 27 | Peking | 220.00 | 10016 | 10013 | Österreich | Deutsch | EUR | +43 || 28 | Berlin | 250.00 | 10010 | 10013 | Österreich | Deutsch | EUR | +43 || 29 | Edinburgh | 350.00 | 10009 | 10013 | Österreich | Deutsch | EUR | +43 || 30 | Valetta | 884.15 | 10017 | 10013 | Österreich | Deutsch | EUR | +43 || 31 | Atlantis | 300000.00 | 1 | 10013 | Österreich | Deutsch | EUR | +43 || 32 | Loch Ness | 430.00 | 10009 | 10013 | Österreich | Deutsch | EUR | +43 || 33 | San Francisco | 1100.00 | 10006 | 10013 | Österreich | Deutsch | EUR | +43 || 17 | Antananarivo | 5.00 | 3 | 10014 | Frankreich | Französisch | EUR | +33 || 18 | Stalingrad | 5.00 | 3 | 10014 | Frankreich | Französisch | EUR | +33 || 19 | Geldspeicher | 99999999.99 | 3 | 10014 | Frankreich | Französisch | EUR | +33 || 20 | Zuurich | 0.00 | 10005 | 10014 | Frankreich | Französisch | EUR | +33 || 21 | Kamtschakta | 8300.00 | 3 | 10014 | Frankreich | Französisch | EUR | +33 || 23 | New York | 200.00 | 10006 | 10014 | Frankreich | Französisch | EUR | +33 || 24 | Grand Canyon | 1947.00 | 10006 | 10014 | Frankreich | Französisch | EUR | +33 || 25 | Sidney | 2803.00 | 10012 | 10014 | Frankreich | Französisch | EUR | +33 || 26 | Darwin | 3400.00 | 10012 | 10014 | Frankreich | Französisch | EUR | +33 || 27 | Peking | 220.00 | 10016 | 10014 | Frankreich | Französisch | EUR | +33 || 28 | Berlin | 250.00 | 10010 | 10014 | Frankreich | Französisch | EUR | +33 || 29 | Edinburgh | 350.00 | 10009 | 10014 | Frankreich | Französisch | EUR | +33 || 30 | Valetta | 884.15 | 10017 | 10014 | Frankreich | Französisch | EUR | +33 || 31 | Atlantis | 300000.00 | 1 | 10014 | Frankreich | Französisch | EUR | +33 || 32 | Loch Ness | 430.00 | 10009 | 10014 | Frankreich | Französisch | EUR | +33 || 33 | San Francisco | 1100.00 | 10006 | 10014 | Frankreich | Französisch | EUR | +33 || 17 | Antananarivo | 5.00 | 3 | 10015 | Indonesien | Indonesisch | IDR | +62 || 18 | Stalingrad | 5.00 | 3 | 10015 | Indonesien | Indonesisch | IDR | +62 || 19 | Geldspeicher | 99999999.99 | 3 | 10015 | Indonesien | Indonesisch | IDR | +62 || 20 | Zuurich | 0.00 | 10005 | 10015 | Indonesien | Indonesisch | IDR | +62 || 21 | Kamtschakta | 8300.00 | 3 | 10015 | Indonesien | Indonesisch | IDR | +62 || 23 | New York | 200.00 | 10006 | 10015 | Indonesien | Indonesisch | IDR | +62 || 24 | Grand Canyon | 1947.00 | 10006 | 10015 | Indonesien | Indonesisch | IDR | +62 || 25 | Sidney | 2803.00 | 10012 | 10015 | Indonesien | Indonesisch | IDR | +62 || 26 | Darwin | 3400.00 | 10012 | 10015 | Indonesien | Indonesisch | IDR | +62 || 27 | Peking | 220.00 | 10016 | 10015 | Indonesien | Indonesisch | IDR | +62 || 28 | Berlin | 250.00 | 10010 | 10015 | Indonesien | Indonesisch | IDR | +62 || 29 | Edinburgh | 350.00 | 10009 | 10015 | Indonesien | Indonesisch | IDR | +62 || 30 | Valetta | 884.15 | 10017 | 10015 | Indonesien | Indonesisch | IDR | +62 || 31 | Atlantis | 300000.00 | 1 | 10015 | Indonesien | Indonesisch | IDR | +62 || 32 | Loch Ness | 430.00 | 10009 | 10015 | Indonesien | Indonesisch | IDR | +62 || 33 | San Francisco | 1100.00 | 10006 | 10015 | Indonesien | Indonesisch | IDR | +62 || 17 | Antananarivo | 5.00 | 3 | 10016 | China | Chinesisch | CNY | +86 || 18 | Stalingrad | 5.00 | 3 | 10016 | China | Chinesisch | CNY | +86 || 19 | Geldspeicher | 99999999.99 | 3 | 10016 | China | Chinesisch | CNY | +86 || 20 | Zuurich | 0.00 | 10005 | 10016 | China | Chinesisch | CNY | +86 || 21 | Kamtschakta | 8300.00 | 3 | 10016 | China | Chinesisch | CNY | +86 || 23 | New York | 200.00 | 10006 | 10016 | China | Chinesisch | CNY | +86 || 24 | Grand Canyon | 1947.00 | 10006 | 10016 | China | Chinesisch | CNY | +86 || 25 | Sidney | 2803.00 | 10012 | 10016 | China | Chinesisch | CNY | +86 |
![Page 14: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/14.jpg)
Fortsetzung VI| 26 | Darwin | 3400.00 | 10012 | 10016 | China | Chinesisch | CNY | +86 || 27 | Peking | 220.00 | 10016 | 10016 | China | Chinesisch | CNY | +86 || 28 | Berlin | 250.00 | 10010 | 10016 | China | Chinesisch | CNY | +86 || 29 | Edinburgh | 350.00 | 10009 | 10016 | China | Chinesisch | CNY | +86 || 30 | Valetta | 884.15 | 10017 | 10016 | China | Chinesisch | CNY | +86 || 31 | Atlantis | 300000.00 | 1 | 10016 | China | Chinesisch | CNY | +86 || 32 | Loch Ness | 430.00 | 10009 | 10016 | China | Chinesisch | CNY | +86 || 33 | San Francisco | 1100.00 | 10006 | 10016 | China | Chinesisch | CNY | +86 || 17 | Antananarivo | 5.00 | 3 | 10017 | Malta | Maltesisch | EUR | +356 || 18 | Stalingrad | 5.00 | 3 | 10017 | Malta | Maltesisch | EUR | +356 || 19 | Geldspeicher | 99999999.99 | 3 | 10017 | Malta | Maltesisch | EUR | +356 || 20 | Zuurich | 0.00 | 10005 | 10017 | Malta | Maltesisch | EUR | +356 || 21 | Kamtschakta | 8300.00 | 3 | 10017 | Malta | Maltesisch | EUR | +356 || 23 | New York | 200.00 | 10006 | 10017 | Malta | Maltesisch | EUR | +356 || 24 | Grand Canyon | 1947.00 | 10006 | 10017 | Malta | Maltesisch | EUR | +356 || 25 | Sidney | 2803.00 | 10012 | 10017 | Malta | Maltesisch | EUR | +356 || 26 | Darwin | 3400.00 | 10012 | 10017 | Malta | Maltesisch | EUR | +356 || 27 | Peking | 220.00 | 10016 | 10017 | Malta | Maltesisch | EUR | +356 || 28 | Berlin | 250.00 | 10010 | 10017 | Malta | Maltesisch | EUR | +356 || 29 | Edinburgh | 350.00 | 10009 | 10017 | Malta | Maltesisch | EUR | +356 || 30 | Valetta | 884.15 | 10017 | 10017 | Malta | Maltesisch | EUR | +356 || 31 | Atlantis | 300000.00 | 1 | 10017 | Malta | Maltesisch | EUR | +356 || 32 | Loch Ness | 430.00 | 10009 | 10017 | Malta | Maltesisch | EUR | +356 || 33 | San Francisco | 1100.00 | 10006 | 10017 | Malta | Maltesisch | EUR | +356 |+--------+---------------+-------------+--------+--------+-----------------+-----------------+----------+---------+
![Page 15: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/15.jpg)
D.h.: Reiseziel,Land ist eine Tabelle, die aus allen Kombinationen einer Zeile
von Reiseziel und einer Zeile von Land besteht. Diese Tabelle wird auch das kartesische Produkt der Tabellen Reiseziel
und Land genannt. Sie enthält auch alle unsinnigen Kombinationen der beiden Tabellen. Um die sinnvollen Kombinationen herauszufiltern, fügen wir die
Bedingung an, dass das Feld LandNr in beiden Tabellen gleich sein muss:
SELECT * FROM Reiseziel,Land WHERE Reiseziel.LandNr = Land.LandNr;
Schliesslich beschränken wir uns auf diejenigen Spalten, welche uns interessieren und geben ihnen eindeutige Titel.
![Page 16: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/16.jpg)
komplizierteres Beispiel:
zu jedem kartesischen Produkt gehört eine WHERE-Bedingung
WHERE-Bedingungen werden mit AND verknüpft
SELECT Person.Name FROM Person,Buchung,Reiseziel,Land WHERE Person.PersNr = Buchung.KundeNr AND Buchung.ZielNr = Reiseziel.ZielNr AND Reiseziel.LandNr = Land.LandNr AND Land.Sprache='Englisch';
![Page 17: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/17.jpg)
identische Spalten eliminieren:SELECT DISTINCT Person.Name FROM
Person,Buchung,Reiseziel,Land WHERE Person.PersNr = Buchung.KundeNr AND Buchung.ZielNr = Reiseziel.ZielNr AND Reiseziel.LandNr = Land.LandNr AND Land.Sprache='Englisch';
DISTINCT schadet nie im Zweifelsfall verwenden!
![Page 18: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/18.jpg)
Was kann hinter SELECT stehen?SELECT [DISTINCT] [Tabellenname1.]Spalte1 [AS
Bezeichnung1] [,[Tabellenname2.]Spalte2] [AS Bezeichnung2]]...
[] : optionale Teile
Wenn es die Eindeutigkeit erfordert (gleicher Spaltenname in mehr als einer der in FROM ausgewählten Tabellen), muss der Tabellenname angegeben werden.
Noch nicht erwähnt sind bisher Aggretationsfunktionen.
![Page 19: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/19.jpg)
Was kann hinter WHERE stehen? Bedingungen zu Spalten aus den in FROM verwendeten
Tabellen Operatoren zur Formulierung dieser Bedingungen:
<, =, >, <=, >=, LIKE, REGEXP, IS NULL, IS NOT NULL Operatoren zur Verknüpfung von Bedingungen:
AND, OR, NOT, () Operatoren für Tests auf Enthaltensein in einer
Auswahl: EXISTS, IN Beispiele in den Übungen
zu LIKE: es können die Wildcards % (keines, eines oder beliebig viele Zeichen) und _ (genau ein Zeichen) verwendet werden.
![Page 20: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/20.jpg)
Was kann hinter ORDER BY stehen?ORDER BY Bezeichnung1 [ASC|DESC] [, Bezeichnung 2]
[ASC|DESC]] ...
Beispiel: SELECT Name,Preis FROM Reiseziel WHERE Preis < 1000
ORDER BY Preis ASC;
Bezeichnung1: Spaltenname oder Tabellenname.Spaltenname oder Bezeichnung gemäss AS im SELECT-Teil
Zuerst wird nach Bezeichnung1 sortiert, innerhalb der Zeilen mit gleichem Wert bei Bezeichnung1 wird nach Bezeichnung2 sortiert usw.
![Page 21: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/21.jpg)
Aggregationsfunktionen Wichtigste Vertreter:
COUNT(): Wie viele Zeilen hat das Ergebnis SUM(Spaltenbezeichnung): Summe AVG(Spaltenbezeichnung): Mittelwert
Beispiel 1:SELECT AVG(Gehalt) FROM Mitarbeiter;
Beispiel 2:SELECT Person.Name,SUM(Reiseziel.Preis) AS Summe FROM Reiseziel,Buchung, Person
WHERE Reiseziel.ZielNr = Buchung.ZielNr AND Buchung.KundeNr = Person.PersNrGROUP BY Person.Name ORDER BY Summe DESC
GROUP BY Person.Name: Summiere verschiedene Personen getrennt!
![Page 22: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/22.jpg)
AufgabenDie folgenden Aufgaben können mit dem Webinterface auf http://www.gymmuenchenstein.ch/weiss/SQL.php gelöst weden. Sie beziehen sich auf die Reisebüro-Datenbank.
1. Geben Sie die Namen aller Länder, welche mindestens zweimal den Buchstaben A enthalten, alphabetisch geordnet aus.SELECT Name FROM Land WHERE Name LIKE '%a%a%' ORDER BY Name
Bemerkungen: Wenn weder ASC noch DESC für die
Sortierreihenfolge angegeben wird, wird ASC angekommen, also aufsteigende Sortierung.
LIKE unterscheidet keine Gross- und Kleinschreibung, daher wird auch Australien gefunden.
![Page 23: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/23.jpg)
AufgabenDie folgenden Aufgaben können mit dem Webinterface auf http://www.gymmuenchenstein.ch/weiss/SQL.php gelöst weden. Sie beziehen sich auf die Reisebüro-Datenbank.
2. Geben Sie die Namen aller Kunden alphabetisch geordnet aus.
SELECT Name FROM Person,Kunde WHERE Person.PersNr = Kunde.PersNr ORDER BY Name
![Page 24: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/24.jpg)
AufgabenDie folgenden Aufgaben können mit dem Webinterface auf http://www.gymmuenchenstein.ch/weiss/SQL.php gelöst weden. Sie beziehen sich auf die Reisebüro-Datenbank.
3. Geben Sie die Namen aller Kunden einmal aus, welche schon einmal in New York waren.
SELECT DISTINCT Person.Name FROM Person,Buchung,ReisezielWHERE Person.PersNr = Buchung.KundeNr AND Buchung.ZielNr = Reiseziel.ZielNr AND Reiseziel.Name = 'New York'
![Page 25: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/25.jpg)
AufgabenDie folgenden Aufgaben können mit dem Webinterface auf http://www.gymmuenchenstein.ch/weiss/SQL.php gelöst weden. Sie beziehen sich auf die Reisebüro-Datenbank.
4. Geben Sie eine Rangliste der Namen der Kunden aus, absteigend sortiert nach der Anzahl der von ihnen gebuchten Reisen
SELECT Person.Name,COUNT(Buchung.KundeNr) AS`Anz. Buchungen` FROM Person, Buchung WHERE Person.PersNr = Buchung.KundeNr GROUP BY Person.Name ORDER BY `Anz. Buchungen` DESC
Anmerkung: Namen mit Sonder- und/oder Leerzeichen in verkehrte Hochkommata (``) einschliessen!
![Page 26: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/26.jpg)
AufgabenDie folgenden Aufgaben können mit dem Webinterface auf http://www.gymmuenchenstein.ch/weiss/SQL.php gelöst weden. Sie beziehen sich auf die Reisebüro-Datenbank.
5. Geben Sie eine Rangliste der Mitarbeiter an, absteigend sortiert nach der Anzahl Kunden, welch der jeweilige Mitarbeiter schon beraten hat. Aus der Rangliste soll der Name des Mitarbeiters und die jeweilige Anzahl Beratungen ersichtlich sein.
SELECT Person.Name,COUNT(Name) AS `Anz. Kunden`FROM Person,Beratung WHERE Beratung.MitarbeiterNr = Person.PersNrGROUP BY Person.Name ORDER BY `Anz. Kunden` DESC
![Page 27: Relationale Datenbanken IV Mit SQL Datenbankeinträge heraussuchen](https://reader035.vdocuments.pub/reader035/viewer/2022081512/55204d7e49795902118cf4e4/html5/thumbnails/27.jpg)
AufgabenDie folgenden Aufgaben können mit dem Webinterface auf http://www.gymmuenchenstein.ch/weiss/SQL.php gelöst weden. Sie beziehen sich auf die Reisebüro-Datenbank.
6. Welche Mitarbeiter haben schon mindestens 3 Kunden beraten? Geben Sie deren Namen zusammen mit der Anzahl beratener Kunden aus, sortiert nach Namen
SELECT * FROM (SELECT Person.Name,COUNT(Name) AS `Anz. Kunden`FROM Person,Beratung WHERE Beratung.MitarbeiterNr = Person.PersNrGROUP BY Person.Name ORDER BY `Anz. Kunden` DESC) AS Zwischentabelle WHERE `Anz. Kunden` >= 3