Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
sql [2024/11/02 19:47] jango |
sql [2024/11/29 13:13] (aktuell) jango [SQL Injection] |
||
---|---|---|---|
Zeile 27: | Zeile 27: | ||
====SQL Injection==== | ====SQL Injection==== | ||
- | [[https:// | + | [[sql_injection]] |
Wenn ein Angreifer versucht, Code in unsere Datenbank zu schleusen um an Daten zu kommen. | Wenn ein Angreifer versucht, Code in unsere Datenbank zu schleusen um an Daten zu kommen. | ||
Zeile 53: | Zeile 53: | ||
=====Joins===== | =====Joins===== | ||
+ | |||
+ | {{sql_joins.png}} | ||
SQL Joins ermöglichen es, Daten aus mehreren Tabellen in einer Datenbank zu kombinieren. Die wichtigsten sind: | SQL Joins ermöglichen es, Daten aus mehreren Tabellen in einer Datenbank zu kombinieren. Die wichtigsten sind: | ||
- | * INNER JOIN | + | ^Name^Beschreibung^ |
- | | + | |INNER JOIN|Der |
- | | + | |LEFT JOIN (oder LEFT OUTER JOIN)|Der LEFT JOIN gibt alle Zeilen aus der linken Tabelle zurück, selbst wenn keine Übereinstimmung in der rechten Tabelle gefunden wird. Wenn keine Übereinstimmung vorhanden ist, werden die Spalten der rechten Tabelle mit NULL gefüllt.| |
- | | + | |RIGHT JOIN (oder RIGHT OUTER JOIN)|Der RIGHT JOIN ist das Gegenstück zum LEFT JOIN und gibt alle Zeilen aus der rechten Tabelle zurück, selbst wenn keine Übereinstimmung in der linken Tabelle gefunden wird. Fehlt eine Übereinstimmung, |
- | | + | |FULL JOIN (oder FULL OUTER JOIN)|Der FULL JOIN gibt alle Zeilen aus beiden Tabellen zurück. Wenn keine Übereinstimmung in einer der beiden Tabellen gefunden wird, werden die entsprechenden Spalten mit NULL gefüllt.| |
+ | |CROSS JOIN|Der CROSS JOIN erstellt das kartesische Produkt der beiden Tabellen, d. h. jede Zeile der ersten Tabelle wird mit jeder Zeile der zweiten Tabelle kombiniert. Es gibt keine Bedingung oder Einschränkung.| | ||
Nehmen wir an, wir haben zwei Tabellen: employees und departments. | Nehmen wir an, wir haben zwei Tabellen: employees und departments. | ||
Zeile 240: | Zeile 243: | ||
*/ | */ | ||
+ | /* | ||
-- CROSS JOIN | -- CROSS JOIN | ||
SELECT Kunden.Name, | SELECT Kunden.Name, | ||
FROM Kunden | FROM Kunden | ||
CROSS JOIN Bestellungen; | CROSS JOIN Bestellungen; | ||
+ | */ | ||
</ | </ | ||