Einführung in die WHERE-Klausel
Wie wir alle wissen, ist SQL (Structured Query Language) eine der am häufigsten verwendeten Sprachen für relationale Datenbanken (Datenbanken, in denen Datensätze in Form von Zeilen und Spalten gespeichert werden). In SQL werden Abfragen ausgelöst, um auf die Datenbank zuzugreifen und die gewünschten Vorgänge auszuführen, sei es DML-Vorgänge (Data Manipulation Language), DDL-Vorgänge (Data Definition Language) oder DCL-Vorgänge (Data Control Language). SQL verwendet einige Klauseln wie WHERE, GROUP BY, HAVING, ORDER BY, die bestimmte Operationen ausführen. Die WHERE-Klausel wird verwendet, um Bedingungen anzuwenden und Ergebnisse herauszufiltern, während Daten aus der Datenbank abgerufen oder bearbeitet werden. Es wird mit der SELECT-, UPDATE- und DELETE-Anweisung verwendet, und die WHERE-Klausel ist optional, um mit ihnen verwendet zu werden.
Im Allgemeinen, Begriffe, WHERE-Klausel,
- Wird verwendet, um die Zeilen nach den angegebenen Kriterien zu filtern.
- Beschränkt die Anzahl der zurückgegebenen Zeilen.
- Gefolgt von einer logischen Bedingung, die entweder true oder false zurückgibt.
- Funktioniert nur, wenn die angegebene Bedingung true zurückgibt.
- Es kann mit SELECT-, UPDATE- oder DELETE-Anweisungen verwendet werden.
1. Syntax mit SELECT
SELECT column1, column2, column3… from table_name WHERE condition;
Hier ruft SELECT alle Daten von Spalte1, Spalte2, Spalte3 aus der Tabelle (mit dem Namen Tabellenname) ab, und die WHERE-Klausel wendet die Bedingungen auf die von der SELECT-Anweisung abgerufenen Daten an und filtert diese entsprechend der in der Anweisung angegebenen Bedingung.
2. Syntax mit UPDATE
UPDATE table_name SET column_name = value WHERE condition;
Hier aktualisiert Update den Wert für den Spaltennamen mit der angegebenen where-Bedingung.
Vergleichsoperatoren und logische Operatoren können auch mit der WHERE-Bedingung wie und oder nicht wie, <, = usw. verwendet werden.
3. Syntax mit DELETE
DELETE from table_name WHERE condition;
In der obigen Syntax:
Tabellenname | Name der Tabelle, für die Operationen ausgeführt werden müssen. |
Bedingung | Gibt die Filterbedingung an, nach der Datensätze gefiltert werden müssen |
column_list | Name der Spalten der Tabelle |
Beispiele
Stellen Sie sich eine Schülertabelle mit verschiedenen Spalten und Werten vor:
Stu_id | Stu_name | Stu_address | Stu_phno | Stu_percentage |
1 | Rahul | Agra | 9557806625 | 85 |
2 | Ankit | Delhi | 8855664471 | 75 |
3 | Shailendra | Noida | 7213457896 | 92 |
Szenario 1
Rufen Sie den Studentenausweis, den Namen, die Adresse und den Prozentsatz aller Studenten ab, die mehr als 80 Prozent erreicht haben.
Abfrage
SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;
Ergebnis:
Anzahl der Datensätze: 2
Stu_id | Stu_name | Stu_address | Stu_percentage |
1 | Rahul | Agra | 85 |
3 | Shailendra | Noida | 92 |
Szenario 2
Aktualisieren Sie den Prozentsatz von Rahul um 2 Prozent.
Abfrage
UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';
Ergebnis:
Betroffene Zeilen: 1
Wenn wir die Abfrage treffen, um die aktualisierten Felder anzuzeigen:
Abfrage
SELECT * from students WHERE Stu_name ='Rahul';
Ergebnis:
Anzahl der Datensätze: 1
Stu_id | Stu_name | Stu_address | Stu_percentage |
1 | Rahul | Agra | 87 |
Szenario 3
Student Ankit hat die Schule verlassen, also löschen Sie den gesamten Datensatz von ihm vom Tisch.
Abfrage
DELETE from students WHERE Stu_name = 'Ankit';
Ergebnis:
Betroffene Zeilen: 1
So zeigen Sie den aktualisierten Tabellenschüler an:
Abfrage
SELECT * from students;
Ergebnis:
Betroffene Zeilen: 2
Stu_id | Stu_name | Stu_address | Stu_phno | Stu_percenta ge |
1 | Rahul | Agra | 9557806625 | 87 |
3 | Shailendra | Noida | 7213457896 | 92 |
WHERE-Klausel Operationen
Die WHERE-Klausel enthält die Bedingungen, unter denen Datenbankwerte gefiltert werden. Mit der WHERE-Klausel können verschiedene Operatoren verwendet werden. Einige davon sind in der folgenden Tabelle anhand eines Beispiels aufgeführt:
S.No. | Operator | Beschreibung | Beispiel |
1. | UND | Gibt true zurück, wenn beide Bedingungen erfüllt sind | SELECT * von Schülern WHERE Stu_name = 'Rahul' und Stu_percentage = 85; |
2. | ODER | Gibt true zurück, wenn einer der
Bedingung entspricht | SELECT * von Schülern WHERE Stu_name = 'Rahul' oder Stu_name = 'Shalendra'; |
3. | IM | Der Wert stimmt mit einem der mehreren angegebenen Werte überein | SELECT * von Studenten WHERE Stu_city IN ('AGRA', 'NOIDA'); |
4. | NICHT IN | Der Wert stimmt mit keinem der angegebenen Mehrfachwerte überein | SELECT * von Schülern WHERE Stu_city NOT IN ('AGRA', 'NOIDA'); |
5. | = | Gleich | SELECT * von Studenten WO
Stu_name = 'Rahul'; |
6. | > | Größer als | SELECT * von Studenten WHERE Stu_percentage> 80; |
7. | < | Weniger als | SELECT * von Schülern WHERE Stu_percentage <78; |
8. | > = | Größer als oder gleich wie | SELECT * von Schülern WHERE Stu_percenetage> = 70; |
9. | <= | Weniger als oder gleich | SELECT * von Schülern WHERE Stu_percenetage <= 70; |
10. | Nicht gleich | SELECT * von Studenten WHERE Stu_percentage 75; | |
11. | ZWISCHEN | Der Wert liegt zwischen einem bestimmten Bereich | SELECT * von Studenten WO
Stu_percentage ZWISCHEN 70 UND 85; |
12. | MÖGEN | Werte stimmen mit einem bestimmten Muster überein. Dient zum Durchführen von Platzhaltersuchen | SELECT * von Studenten WHERE Stu_city LIKE 'AG%'; |
Hinweis: Bei der Arbeit mit der WHERE-Klausel muss beachtet werden, dass numerische Werte nicht in einfachen Anführungszeichen ('') angegeben werden, während Textwerte (varchar) in einfachen Anführungszeichen angegeben werden müssen Anführungszeichen ('').
Wie funktioniert die WHERE-Klausel in SQL?
Die obigen Beispiele zeigen jedoch deutlich, wie die WHERE-Klausel zum Filtern der Daten gemäß der vom Benutzer angegebenen Bedingung verwendet wird, und ermöglichen die schnellere Ausführung von SQL-Code, da die Anzahl der zurückgegebenen Datensätze durch die Bedingung begrenzt ist. Der SQL Query Optimizer bearbeitet zunächst die Abfrage mit FROM (Tabelle, für die der Vorgang ausgeführt werden muss), um die Ergebnisse abzurufen, zu löschen oder zu aktualisieren und anschließend die WHERE-Klausel anzuwenden.
Die WHERE-Klausel kann nur verwendet werden, wenn die Ergebnisse in einer einzelnen Tabelle oder einem Join von Tabellen gefiltert werden müssen, da sie für Zeilendaten verwendet werden. Im Fall der Aggregatfunktionen kann WHERE jedoch nicht zum Anwenden von Bedingungen auf die Abfrage verwendet werden.
Betrachten wir das Szenario, in dem die WHERE-Klausel nicht verwendet werden kann:
Szenario: Rufen Sie in einer "Kino" -Tabelle alle Details von Filmen ab, die in bestimmten Jahren mehr als 10 Crores verdienen, z. B. (2000, 2010, 2012, usw.).
Abfrage:
SELECT * from movies GROUP BY Year_released HAVING earnings > 10;
Im obigen Beispiel wird die HAVING-Klausel anstelle von WHERE verwendet, da die WHERE-Klausel in den Aggregatfunktionen nicht verwendet werden kann, während HAVING dies kann. Dies ist auch einer der Hauptunterschiede zwischen der WHERE- und der HAVING-Klausel
Schlussfolgerung - SQL WHERE-Klausel
Die obige Erläuterung zeigt deutlich die Verwendung der WHERE-Klausel und ihre Implementierung für verschiedene Szenarien in SQL-Abfragen. Bevor Sie eine Abfrage schreiben, müssen Sie die Verwendung jeder Klausel und das Szenario berücksichtigen, in dem diese bestimmte Klausel oder dieses Schlüsselwort verwendet werden soll.
Empfohlene Artikel
Dies ist eine Anleitung zur SQL WHERE-Klausel. Hier diskutieren wir die Verwendung der WHERE-Klausel und ihre Implementierung für verschiedene Szenarien. Sie können auch unsere anderen Artikelvorschläge durchgehen -
- Arten von Joins in SQL
- Platzhalter in MySQL
- SQL-Einfügeabfrage
- Fremdschlüssel in SQL
- Top 6 Arten von Joins in MySQL mit Beispielen