Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Ultimativer SQL-Spickzettel zum Lesezeichen für später [2023]

SQL-Cheatsheet
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

SQL oder Shergestellt QSehr gut LSprache ist eine Reihe von Befehlen zum Verwalten relationaler Datenbankoperationen wie Löschen, Erstellen, Aktualisieren, Lesen usw.

SQL ist seit 1987 der internationale Standard für relationale Datenbanken. Es gibt vier Arten von SQL-Befehlen:

  • Datendefinitionssprache (DDL) – Diese Befehle definieren die Struktur der Datenbank. Zum Beispiel löschen, umbenennen, ändern und erstellen. Sie wirken sich auf die Datenbankstruktur aus. Beispielsweise das Erstellen einer Datenbank oder das Umbenennen einer Tabelle.
  • Datenmanipulationssprache (DML) – Diese Befehle werden verwendet, um mit den Daten zu arbeiten. Zum Beispiel einfügen, auswählen, aktualisieren, löschen. Diese wirken sich nicht auf die Tabellen oder die Datenbankstruktur aus, sondern auf die in den Tabellen vorhandenen Daten. Beispielsweise das Einfügen einer neuen Zeile oder das Aktualisieren eines Werts in der Zeile.
  • Transaktionskontrollsprache (TCL) – Diese Befehle steuern die Transaktionsverarbeitung in der Datenbank. Zum Beispiel Rollback, Speichern, Festschreiben. Diese Befehle wirken sich dauerhaft auf die Datenbank aus. Beispielsweise das Zurücksetzen der gesamten Transaktion auf den vorherigen Zustand, selbst wenn ein Prozess fehlschlägt.
  • Data Control Language (DCL) – Data Control-Befehle werden verwendet, um Benutzer zu autorisieren und einem Benutzer oder einer Gruppe nur die erforderlichen Berechtigungen zu erteilen. Beispielsweise kann ein Benutzer nur Leseberechtigung haben, während ein anderer über Lese- und Schreibberechtigungen verfügt. Die Zugriffskontrolle erfolgt über die Befehle Grant, Deny und Revoke.

Nachfolgend finden Sie das SQL-Cheat-Sheet mit den nützlichsten Befehlen. Der Spickzettel hilft Ihnen, schnell auf die erforderlichen Befehle mit der richtigen Syntax und dem erwarteten Ergebnis einer Abfrage zu verweisen. In diesem Spickzettel konzentrieren wir uns auf DDL- und DML-Befehle, da die anderen beiden Typen recht einfach zu verwenden sind.

Data Definition and Manipulation Queries

BefehlInfosBeispiel
ADDFügt der vorhandenen Tabelle eine Spalte oder Einschränkung (wie angegeben) hinzu.ALTER TABLE employee ADD last_name varchar2(255); ALTER TABLE employee ADD CONSTRAINT emp_det PRIMARY KEY (id, last_name);

ALTER TABLE employee ADD last_name varchar2(255); ALTER TABLE employee ADD CONSTRAINT emp_det PRIMARY KEY (id, last_name);
ALTER TABELLEÄndert die angegebene Tabelle, um die Spalte einer Tabelle hinzuzufügen, zu aktualisieren oder zu löschen.ALTER TABLE employee ADD last_name varchar2(255);

ALTER TABLE employee DROP COLUMN last_name;
SPALTE ÄNDERNÄndern Sie den Datentyp der Spalte. Zum Beispiel, um den Typ der Joining_date-Spalte der Employee-Tabelle von varchar2 in datetime zu ändern.ALTER TABLE employee ALTER COLUMN joining_date datetime;
AlleLogischer Operator, der mit SELECT, WHERE und HAVING verwendet wird und wahr zurückgibt, wenn alle Werte die Bedingung der Unterabfrage erfüllenSELECT employee_name, joining_date from employee WHERE employee_id = ALL (select employee_id from department_details WHERE department = ‘R&D’);
UNDLogischer Operator, der nur wahr zurückgibt, wenn alle Bedingungen in der WHERE-Klausel erfüllt sind.SELECT employee_name, salary from employee WHERE city = ‘California’ AND salary > 2000;
JEDEMLogischer Operator; gibt true zurück, wenn auch nur einer der Unterabfragewerte die Bedingung in der where-Klausel erfülltSELECT employee_id, employee_name from employee WHERE employee_id = ANY (select employee_id from department_details WHERE department = ‘HR’ OR department = ‘R&D’);
ASErstellt einen Alias ​​für die Tabelle oder Spalte bis zum Zeitpunkt der Abfrageausführung, was nützlich ist, wenn der Name mehrfach verwendet wird, insbesondere bei TabellenverknüpfungenSELECT count(employee_id) AS employees_from_houston from employee WHERE city = 'Houston';
ASCGibt die Daten zurück in ascEndreihenfolge, verwendet mit der ORDER BY-Klausel. ORDER BY selbst sortiert die Ergebnisse standardmäßig aufsteigend.SELECT employee_name, joining_date, salary from employee ORDER BY employee_name ASC;
ZWISCHENUm Werte innerhalb eines Bereichs auszuwählenSELECT employee_name, joining_date, department_id from employee WHERE salary  BETWEEN 40000 AND 100000;
CASEBesteht aus einer Reihe von Anweisungen; gibt den Wert der Aussage zurück, der wahr ist, WENN keine der Bedingungen erfüllt ist, wird die Bedingung im ELSE-Teil ausgeführt. Wenn es nichts anderes gibt, wird NULL zurückgegeben.SELECT order_amount, customer_id, contact_email CASE WHEN order_amount > 3000 THEN "Eligible for 40% discount" WHEN order_amount between 2000 and 3000 THEN "Eligible for 25% discount" ELSE "Eligible for 5% discount" END FROM order_details;
DATENBANK ERSTELLENErstellt eine neue Datenbank mit dem angegebenen NamenCREATE DATABASE movies_development;
TABELLE ERSTELLENErstellt eine neue Tabelle mit dem angegebenen Tabellennamen und den Spaltennamen und -typenCREATE TABLE movie_info (movie_name varchar2(255), release_date datetime, lead_actor varchar2(255), music_director varchar2(255));
DEFAULTLegt einen Standardwert für die angegebene Spalte fest, der mit den Befehlen CREATE oder ALTER TABLE verwendet wirdCREATE TABLE employee (joining_date SET DEFAULT CURRENT_DATE);

ALTER TABLE product ALTER is_available SET DEFAULT true;
LÖSCHENLöscht Daten aus der angegebenen TabelleDELETE from employee where employee_id = 345;
DESCGibt die Daten in de zurückscEndreihenfolge, verwendet mit der ORDER BY-Klausel.SELECT employee_name, joining_date, salary from employee ORDER BY employee_name DESC;
DROP-SÄULELöscht die angegebene Spalte aus der angegebenen Tabelle.ALTER TABLE employee DROP COLUMN employee_name;
DATENBANK VERLIERENLöscht die gesamte DatenbankDROP DATABASE movies_development;
STANDARD VERLASSENLöscht den Standardwert der angegebenen SpalteALTER TABLE employee ALTER COLUMN is_available DROP DEFAULT;
TROPFENTABELLELöscht die angegebene TabelleDROP TABLE employee;
VORHANDENÜberprüft, ob ein Datensatz in der Unterabfrage vorhanden ist oder nicht, und gibt wahr zurück, wenn ein oder mehrere Ergebnisse gefunden werden.SELECT employee_id, contact_number FROM employee WHERE EXISTS (SELECT employee_id, department FROM department WHERE employee_id = 345 AND department = 'HR');
ABGibt die Tabelle an, aus der Daten ausgewählt oder gelöscht werden sollenSELECT * FROM employee; DELETE FROM employee where employee_id = 345;
GRUPPIERE NACHGruppiert Daten gemäß der angegebenen Spalte, die für Aggregatfunktionen verwendet werdenZeigen Sie die Anzahl der Mitarbeiter in jedem Land an

SELECT COUNT(employee_id), country from employee GROUP BY country;

Zeigt die durchschnittlichen Bewertungen der Mitarbeiter jeder Abteilung

SELECT AVG(rating), department from employee GROUP BY department;
INWird verwendet, um mehrere Werte gleichzeitig in einer WHERE-Klausel auszuwählen, anstatt mehrere OR-Bedingungen zu verwendenSELECT employee_name FROM employee WHERE country IN ('India', 'United Kingdom', 'Singapore', 'Australia');
INDEXIndex macht das Abfragen von Daten effizienter und schneller. Indizes werden normalerweise für Spalten erstellt, die am häufigsten durchsucht werden.Index erstellen:
CREATE INDEX idx_employee ON employee (first_name, last_name);

Erstellen Sie einen eindeutigen Index, bei dem Werte nicht dupliziert werden können:
CREATE UNIQUE INDEX idx_employee ON employee (first_name, last_name);

Index löschen:
ALTER TABLE employee DROP INDEX idx_employee;
INSERT INSERTNeue Zeile in einer Tabelle hinzufügenINSERT INTO employee (employee_id, employee_name, salary, core_skill) VALUES (451, ‘Lee Cooper’, 40000, ‘Java’);
IST NULLPrüft auf NullwerteSELECT employee_id from employee where employee_name IS NULL;
IST NICHT NULLSucht nach Werten, die nicht null sindSELECT employee_id, core_skill from  employee where core_skill IS NOT NULL;
LIKEGibt alle Werte zurück, die einem bestimmten Muster entsprechenSELECT employee_id,  first_name, last_name  where  first_name LIKE ‘%tony’;
NICHT WIEGibt alle Werte zurück, die nicht mit dem angegebenen Muster übereinstimmenSELECT employee_id,  first_name, last_name  where  first_name NOT LIKE ‘%tony’;
ORGibt true zurück, wenn eine der Bedingungen in der where-Klausel erfüllt istSELECT * from employee where country = ‘India’ OR country = ‘Australia’;
SORTIEREN NACHOrdnet die Ergebnisse in aufsteigender Reihenfolge (standardmäßig) oder in der in der Abfrage angegebenen Reihenfolge (ascEnde bzw descEnde)SELECT employee_name, salary from employee ORDER BY salary DESC;
REIHENNUMGibt die angegebene Anzahl von Zeilen zurück, die in der WHERE-Klausel der Abfrage erwähnt werdenSELECT * from employee where ROWNUM <= 5; This will return the first five rows in the resultset.
SELECTWählt die genannten Spalten der Tabelle basierend auf den gegebenen Bedingungen aus. Wenn * angegeben ist, werden alle Spaltenwerte zurückgegeben.SELECT employee_id from employee; SELECT * from employee;
AUSWÄHLEN INKopiert Daten aus der Quelltabelle in eine andere Zieltabelle. Sie können alle Spalten (*) oder bestimmte Spalten auswählen.SELECT * INTO new_employee_info FROM employee; SELECT employee_name, joining_date, core_skill INTO new_employee_info FROM employee;
TOP AUSWÄHLENWählt die angegebene Anzahl von Datensätzen aus der Tabelle ausSELECT TOP 5 employee_id from employee where employee_rating = 5;
SETLegt den Wert einer Spalte während eines UPDATE-Vorgangs auf den neu angegebenen Wert fest.UPDATE employee SET first_name = ‘Tony’ WHERE employee_id = 345;
ETWASGibt wahr zurück, wenn eine der Bedingungen in der Unterabfrage erfüllt ist. SOME ähnelt dem Befehl ANY.SELECT employee_id, employee_name from employee WHERE salary > SOME (select salary from employee WHERE department = ‘HR’);
TABELLE KÜRZENLöscht Daten aus der Tabelle – denken Sie daran, dass die Tabelle nicht gelöscht wird.TRUNCATE TABLE log_info;
UNIONGibt unterschiedliche Werte aus 2 oder mehr verknüpften Tabellen zurück. Um auch die doppelten Werte zu erhalten, verwenden Sie UNION ALL.SELECT city from employee UNION SELECT city from office_locations;
EINZIGARTIGFügt der angegebenen Spalte eine eindeutige Einschränkung hinzu, was bedeutet, dass die Spalte keine doppelten Werte haben kann. Kann während Befehlen zum Erstellen oder Ändern von Tabellen verwendet werden.CREATE TABLE employee (employee_id int NOT NULL, UNIQUE(employee_id));

ALTER TABLE employee ADD UNIQUE(employee_id);
AKTUALISIERENAktualisiert den Wert der angegebenen Spalte mit einem neuen WertUPDATE employee SET first_name = ‘Tony’ WHERE employee_id = 345;
WERTEWird mit dem INSERT-Befehl verwendet, um eine neue Zeile mit Werten in die Tabelle einzufügenINSERT INTO employee (employee_id, employee_name, salary, core_skill) VALUES (451, ‘Lee Cooper’, 40000, ‘Java’);
WOFügt Bedingungen hinzu, um die Ergebnismenge einer Auswahlanweisung zu filternSELECT * from employee WHERE salary > 20000;
Spickzettel für SQL-Befehle zum schnellen Nachschlagen

Aggregate functions

Aggregatfunktionen sind Datenbearbeitungsbefehle, die mit numerischen Spalten wie int und float arbeiten. Diese sind beim Filtern und Sortieren von Daten auf Datenbankebene selbst hilfreich. Einige häufig verwendete Aggregatfunktionen sind:

FUNKTIONBESCHREIBUNGBEISPIEL
AVGGibt den Durchschnittswert der angegebenen Spalte zurückSELECT AVG(marks) from students where subject = ‘English’;
MINGibt den kleinsten Wert der angegebenen Spalte zurückSELECT MIN(price) from product WHERE product_category = ‘shoes’;
MAXGibt den größten Wert der angegebenen Spalte zurückSELECT MAX(quantity), product_name from inventory;
ANZAHLGibt die Anzahl der Zeilen zurück, die die Abfrage erfüllenZeigt die Gesamtzahl der Datensätze in der Mitarbeitertabelle an.

SELECT COUNT(*) from employee;

Zeigen Sie die Anzahl der Mitarbeiter an, deren Gehalt über 20000 liegt

SELECT COUNT(*) from employee where salary > 20000;
SUMGibt die Summe der Werte der angegebenen numerischen Spalte zurückSELECT SUM(marks) from students where subject = ‘English’;
Gemeinsame Aggregatfunktionen

SQL Joins

SQL-Joins sind sehr wichtig, da sie Daten aus mehreren Tabellen verbinden und filtern. Joins sind etwas schwierig und können unerwartete Ergebnisse liefern, wenn sie nicht richtig ausgeführt werden. Die folgende Tabelle hilft Ihnen, schnell auf die 4 Arten von SQL-Joins zuzugreifen:

JOIN-TYPBESCHREIBUNGSYNTAXBEISPIEL
Innere VerbindungGibt Datensätze zurück, die in den verknüpften Tabellen übereinstimmen; es ist ähnlich wie eine Kreuzung.SELECT Spalte1, Spalte2… aus Tabelle1 INNER JOIN Tabelle2 auf Tabelle1.SpalteN = Tabelle2.SpalteN;select c.customer_id, o.order_id, c.customer_phone from customer c INNER JOIN order o on c.customer_id = o.customer_id;
Vollständiger (äußerer) JoinGibt alle Datensätze zurück, die auf beiden Seiten eine Übereinstimmung aufweisen – links oder rechts. Es ist ähnlich wie bei einer Gewerkschaft.SELECT Spalte1, Spalte2… aus Tabelle1 KOMPLETTE AUSSENVERBINDUNG Tabelle2 auf Tabelle1.SpalteN = Tabelle2.SpalteN;select c.customer_id, o.order_id, c.customer_phone from customer c FULL OUTER JOIN order o on c.customer_id = o.customer_id;
Links verbindenGibt alle Datensätze aus der linken Tabelle und Datensätze zurück, die den Kriterien in der rechten Tabelle entsprechenSELECT Spalte1, Spalte2… aus Tabelle1 LEFT JOIN Tabelle2 auf Tabelle1.SpalteN = Tabelle2.SpalteN;select c.country_id, c.country_name, l.location_name from country c LEFT JOIN locations l on c.country_id = l.country_id;
Richtig beitretenGibt alle Datensätze aus der rechten Tabelle und Datensätze zurück, die den Kriterien der linken Tabelle entsprechenSELECT Spalte1, Spalte2… aus Tabelle1 RICHTIG BEITRETEN Tabelle2 auf Tabelle1.SpalteN = Tabelle2.SpalteN;select c.country_id, c.country_name, l.location_name from country c RIGHT JOIN locations l on c.country_id = l.country_id;
Join-Typen mit Syntax und Beispiel

Additional resources

SQL ist ein wichtiges Werkzeug für Softwareentwickler, Datenwissenschaftler und Analysten gleichermaßen. Eine praktische Referenz von SQL-Befehlen in Form eines Spickzettels kann Ihnen viel Zeit sparen und Ihnen helfen, die erwartete Ausgabe jedes Schlüsselworts zu verstehen.

Weitere Informationen finden Sie in den folgenden Ressourcen:

SQL-Tutorial: SQL-Spickzettel

Intelligenz: Spickzettel für SQL-Befehle

WebsiteSetup: SQL-Spickzettel

ProgrammingWithMosh: SQL-Spickzettel

PostgreSQL-Spickzettel

Danke an unsere Sponsoren
Weitere großartige Lesungen auf Database
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder