SQLite - UND & ODER Klauseln

Hallo, angehende Datenbankenthusiasten! Heute tauchen wir in die Welt von SQLite ein und erkunden zwei mächtige Operatoren, die Ihnen helfen, komplexere und präzisere Datenbankabfragen zu erstellen: die UND und ODER Klauseln. Als Ihr freundlicher Nachbarschafts-Computerlehrer freue ich mich darauf, Sie auf dieser Reise zu führen. Also, holen Sie sich Ihre virtuellen Notizblöcke und los geht's!

SQLite - AND & OR Clauses

Der UND Operator

Stellen Sie sich vor, Sie organisieren eine riesige Bücherei. Sie möchten alle Bücher finden, die von J.K. Rowling geschrieben und nach dem Jahr 2000 veröffentlicht wurden. Hier kommt der UND Operator ins Spiel!

Was ist der UND Operator?

Der UND Operator ermöglicht es Ihnen, mehrere Bedingungen in Ihrer SQL-Abfrage zu kombinieren. Damit eine Zeile im Ergebnis-Set enthalten ist, müssen ALLE Bedingungen, die mit UND verbunden sind, wahr sein.

Syntax

SELECT spalte1, spalte2, ...
FROM tabelle_name
WHERE bedingung1 UND bedingung2 UND bedingung3 ...;

Beispiele

Lassen Sie uns eine einfache "bücher" Tabelle erstellen, mit der wir arbeiten können:

CREATE TABLE bücher (
id INTEGER PRIMARY KEY,
titel TEXT,
autor TEXT,
veröffentlichungsjahr INTEGER,
genre TEXT
);

INSERT INTO bücher (titel, autor, veröffentlichungsjahr, genre)
VALUES
('Harry Potter und der Feuerkelch', 'J.K. Rowling', 2000, 'Fantasy'),
('Der Da Vinci Code', 'Dan Brown', 2003, 'Thriller'),
('To Kill a Mockingbird', 'Harper Lee', 1960, 'Klassiker'),
('1984', 'George Orwell', 1949, 'Dystopie'),
('Die Tribute von Panem', 'Suzanne Collins', 2008, 'Jugendbuch');

Nun verwenden wir den UND Operator, um alle Fantasy-Bücher zu finden, die nach 2000 veröffentlicht wurden:

SELECT titel, autor, veröffentlichungsjahr
FROM bücher
WHERE genre = 'Fantasy' UND veröffentlichungsjahr > 2000;

Diese Abfrage wird zurückgeben:

titel                               | autor      | veröffentlichungsjahr
------------------------------------------------------------
Harry Potter und der Feuerkelch | J.K. Rowling | 2000

Erklärung: Diese Abfrage wählt nur die Bücher aus, die beide Bedingungen erfüllen: das Genre ist 'Fantasy' UND das Veröffentlichungsjahr ist größer als 2000.

Versuchen wir ein weiteres Beispiel. Wir finden alle Bücher, die von J.K. Rowling geschrieben und im Jahr 2000 veröffentlicht wurden:

SELECT titel, autor, veröffentlichungsjahr
FROM bücher
WHERE autor = 'J.K. Rowling' UND veröffentlichungsjahr = 2000;

Diese Abfrage wird das gleiche Ergebnis wie zuvor zurückgeben, da es das einzige Buch in unserer Tabelle ist, das beide Bedingungen erfüllt.

Pro-Tipp

Sie können so viele UND Operatoren wie nodig in einer einzigen Abfrage verwenden. Zum Beispiel:

SELECT titel, autor, veröffentlichungsjahr, genre
FROM bücher
WHERE autor = 'J.K. Rowling' UND veröffentlichungsjahr = 2000 UND genre = 'Fantasy';

Diese Abfrage fügt eine weitere Bedingung zu unserem vorherigen Beispiel hinzu.

Der ODER Operator

Nun stellen wir uns vor, Sie haben Lust auf entweder ein Fantasy-Buch ODER einen Thriller. Hier kommt der ODER Operator zur Rettung!

Was ist der ODER Operator?

Der ODER Operator ermöglicht es Ihnen, mehrere Bedingungen in Ihrer SQL-Abfrage zu kombinieren. Damit eine Zeile im Ergebnis-Set enthalten ist, muss mindestens EINE der Bedingungen, die mit ODER verbunden sind, wahr sein.

Syntax

SELECT spalte1, spalte2, ...
FROM tabelle_name
WHERE bedingung1 ODER bedingung2 ODER bedingung3 ...;

Beispiele

Verwenden wir unsere vorherige "bücher" Tabelle, um alle Bücher zu finden, die entweder im Genre Fantasy sind ODER nach 2005 veröffentlicht wurden:

SELECT titel, autor, veröffentlichungsjahr, genre
FROM bücher
WHERE genre = 'Fantasy' ODER veröffentlichungsjahr > 2005;

Diese Abfrage wird zurückgeben:

titel                               | autor           | veröffentlichungsjahr | genre
----------------------------------------------------------------------------------
Harry Potter und der Feuerkelch | J.K. Rowling     | 2000             | Fantasy
Die Tribute von Panem                | Suzanne Collins | 2008             | Jugendbuch

Erklärung: Diese Abfrage wählt Bücher aus, die entweder im Genre 'Fantasy' sind ODER nach 2005 veröffentlicht wurden.

Versuchen wir ein weiteres Beispiel. Wir finden alle Bücher, die entweder von J.K. Rowling oder Dan Brown geschrieben wurden:

SELECT titel, autor, veröffentlichungsjahr, genre
FROM bücher
WHERE autor = 'J.K. Rowling' ODER autor = 'Dan Brown';

Diese Abfrage wird zurückgeben:

titel                               | autor       | veröffentlichungsjahr | genre
----------------------------------------------------------------------------------
Harry Potter und der Feuerkelch | J.K. Rowling | 2000             | Fantasy
Der Da Vinci Code                   | Dan Brown    | 2003             | Thriller

Kombination von UND und ODER

Hier wird es wirklich interessant! Sie können UND und ODER Operatoren in derselben Abfrage kombinieren. Aber achten Sie darauf – die Reihenfolge ist wichtig!

Lassen Sie uns alle Fantasy-Bücher ODER Bücher, die nach 2005 veröffentlicht wurden und nicht im Genre Jugendbuch sind, finden:

SELECT titel, autor, veröffentlichungsjahr, genre
FROM bücher
WHERE (genre = 'Fantasy' ODER veröffentlichungsjahr > 2005) UND genre != 'Jugendbuch';

Diese Abfrage wird zurückgeben:

titel                               | autor       | veröffentlichungsjahr | genre
----------------------------------------------------------------------------------
Harry Potter und der Feuerkelch | J.K. Rowling | 2000             | Fantasy

Erklärung: Die Klammern sind hier entscheidend. Sie stellen sicher, dass die ODER Bedingung zuerst ausgewertet wird, und das Ergebnis wird dann mit der UND Bedingung kombiniert.

Pro-Tipp

Wenn Sie UND und ODER kombinieren, verwenden Sie immer Klammern, um Ihre Absichten klar zu machen. Es hilft sowohl Ihnen als auch SQLite, die Logik Ihrer Abfrage zu verstehen.

Zusammenfassung

Hier ist eine kurze Referenztabelle der UND und ODER Operatoren:

Operator Beschreibung Beispiel
UND Gibt wahr zurück, wenn alle Bedingungen wahr sind WHERE bedingung1 UND bedingung2
ODER Gibt wahr zurück, wenn mindestens eine Bedingung wahr ist WHERE bedingung1 ODER bedingung2

Erinnern Sie sich daran, der UND Operator ist wie eine strenge Bibliothekarin, die Ihnen nur ein Buch gibt, wenn Sie ALLE Kriterien erfüllen. Der ODER Operator ist mehr wie ein nachsichtiger Freund, der glücklich ist, wenn Sie EINE der Bedingungen erfüllen.

Üben Sie das verwenden dieser Operatoren, und bald werden Sie komplexe Abfragen wie ein Profi erstellen! Viel Spaß beim Abfragen, zukünftige Datenbank-Zauberer!

Credits: Image by storyset