SQL - Ausdrücke
Hallo da draußen, zukünftige SQL-Zauberer! Heute machen wir uns auf eine aufregende Reise in die Welt der SQL-Ausdrücke. Machen Sie sich keine Sorgen, wenn Sie neu im Programmieren sind - ich werde Ihr freundlicher Guide sein, und wir gehen das Schritt für Schritt durch. Bis zum Ende dieses Tutorials werden Sie SQL-Ausdrücke wie ein Profi formulieren können!
Was ist ein SQL-Ausdruck?
Lassen Sie uns mit den Grundlagen beginnen. Ein SQL-Ausdruck ist wie eine Formel oder Berechnung, die Sie in Ihren SQL-Abfragen verwenden können. Es ist eine Kombination aus einem oder mehreren Werten, Operatoren und SQL-Funktionen, die einen Wert ermitteln. Denken Sie daran als das Geheimrezept, das Ihren Datenbankabfragen Geschmack verleiht!
Nehmen wir zum Beispiel an, Sie haben eine Tabelle mit Produkten, und Sie möchten 10% Rabatt auf alle Preise anwenden. Sie könnten einen Ausdruck wie diesen verwenden:
SELECT product_name, price, price * 0.9 AS discounted_price
FROM products;
In dieser Abfrage ist price * 0.9
unser SQL-Ausdruck. Er nimmt den Preis und multipliziert ihn mit 0.9 (was dasselbe ist wie 10% abziehen).
SQL-Boolesche Ausdrücke
Nun tauchen wir ein in boolesche Ausdrücke. Diese sind wie die wahr/falsch-Fragen der SQL-Welt. Sie führen immer zu TRUE, FALSE oder NULL (was "unbekannt" bedeutet).
Boolesche Ausdrücke sind unglaublich nützlich, wenn Sie Ihre Daten filtern oder Entscheidungen in Ihren Abfragen treffen möchten. Hier sind einige häufig verwendete Operatoren in booleschen Ausdrücken:
Operator | Beschreibung |
---|---|
= | Gleich |
<> | Ungleich |
> | Größer als |
< | Kleiner als |
>= | Größer oder gleich |
<= | Kleiner oder gleich |
AND | Logisches UND |
OR | Logisches ODER |
NOT | Logisches NICHT |
Sehen wir uns diese in Aktion mit einigen Beispielen an:
-- Finden Sie alle Produkte mit einem Preis über $100
SELECT * FROM products WHERE price > 100;
-- Finden Sie alle Bestellungen der letzten 30 Tage
SELECT * FROM orders WHERE order_date >= CURRENT_DATE - INTERVAL '30 days';
-- Finden Sie alle aktiven Kunden in New York oder Kalifornien
SELECT * FROM customers
WHERE (state = 'NY' OR state = 'CA') AND is_active = TRUE;
In jedem dieser Beispiele ist der Teil nach der WHERE
-Klausel ein boolescher Ausdruck. Es ist, als ob Sie der Datenbank eine ja/nea-Frage für jede Datenzeile stellen.
SQL-Numeric-Ausdrücke
Als nächstes haben wir numerische Ausdrücke. Diese sind wie die Mathematikaufgaben von SQL - sie beinhalten Zahlen und arithmetische Operationen.
Hier sind die grundlegenden arithmetischen Operatoren, die Sie verwenden können:
Operator | Beschreibung |
---|---|
+ | Addition |
- | Subtraktion |
* | Multiplikation |
/ | Division |
% | Modulo (Rest) |
Schauen wir uns einige Beispiele an:
-- Berechnen Sie den Gesamtwert des Lagerbestands
SELECT product_name, quantity, price, quantity * price AS total_value
FROM inventory;
-- Berechnen Sie das Alter der Mitarbeiter
SELECT first_name, last_name, EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM birth_date) AS age
FROM employees;
-- Berechnen Sie den Anteil des verbrauchten Budgets
SELECT project_name, budget, spent, (spent / budget) * 100 AS percent_spent
FROM projects;
In diesen Beispielen verwenden wir numerische Ausdrücke, um Berechnungen auf unseren Daten durchzuführen. Dies ist unglaublich nützlich, um neue Einblicke aus Ihren bestehenden Daten zu gewinnen.
SQL-Daten-Ausdrücke
Last but not least, lassen Sie uns über Daten-Ausdrücke sprechen. Mit Daten in SQL umzugehen kann knifflig sein, aber es ist auch äußerst leistungsfähig. Daten-Ausdrücke ermöglichen es Ihnen, Daten in Ihren Abfragen zu manipulieren und zu vergleichen.
Hier sind einige häufige Datenfunktionen:
Funktion | Beschreibung |
---|---|
CURRENT_DATE | Gibt das aktuelle Datum zurück |
CURRENT_TIMESTAMP | Gibt das aktuelle Datum und die Uhrzeit zurück |
DATE_ADD | Fügt einen angegebenen Zeitraum zu einem Datum hinzu |
DATE_SUB | Subtrahiert einen angegebenen Zeitraum von einem Datum |
DATEDIFF | Berechnet den Unterschied zwischen zwei Daten |
Sehen wir uns diese in Aktion an:
-- Finden Sie alle Bestellungen, die heute getätigt wurden
SELECT * FROM orders WHERE order_date = CURRENT_DATE;
-- Finden Sie Kunden, die in den letzten 90 Tagen keine Bestellung getätigt haben
SELECT * FROM customers
WHERE customer_id NOT IN (
SELECT DISTINCT customer_id
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '90 days'
);
-- Berechnen Sie, wie viele Tage jede Bestellung her ist
SELECT order_id, order_date,
DATEDIFF(CURRENT_DATE, order_date) AS days_ago
FROM orders;
Diese Daten-Ausdrücke ermöglichen es Ihnen, komplexe Operationen mit Daten durchzuführen, was für die Analyse von zeilenbasierten Daten entscheidend ist.
Und das war's, Leute! Wir haben die Welt der SQL-Ausdrücke bereist, von boolescher Logik bis hin zu Zahlenk crunching bis hin zu Zeitreisen (na ja, fast). Denken Sie daran, Übung macht den Meister, also fürchten Sie sich nicht, diese Ausdrücke in Ihren eigenen Abfragen auszuprobieren.
Bevor wir aufhören, hier ist ein kleiner SQL-Witz für Sie: Warum hat der Datenbankadministrator seine Frau verlassen? Weil sie eine eine-zu-viele-Beziehungen hatte! (Ba dum tss!)
Happy Querying, und mögen Ihre Verbindungen immer flott und Ihre Abfragen nie in Zeitüberschreitung enden!
Credits: Image by storyset