In diesem SQL-Artikel erfahren Sie, wie Sie das Schlüsselwort IN in den Abfragen der SQL-Datenbank verwenden.
Was ist das Schlüsselwort IN in SQL?
Der IN ist ein logischer Operator in der Structured Query Language, der es Datenbankbenutzern ermöglicht, mehr als einen Wert in der WHERE-Klausel zu definieren.
Die WHERE-Klausel mit IN-Operator zeigt diejenigen Datensätze im Ergebnis an, die mit dem angegebenen Wertesatz übereinstimmen. Wir können die Unterabfrage auch in der Klammer des IN-Operators angeben.
Wir können den IN-Operator mit den INSERT-, SELECT-, UPDATE- und DELETE-Abfragen in der SQL-Datenbank verwenden.
Der IN-Operator in SQL ersetzt den Prozess mehrerer OR-Bedingungen in Abfragen.
Syntax des IN-Operators:
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name IN (Value_1, Value_2, Value_3, ......., Value_N);
Wenn Sie den IN-Operator in den SQL-Anweisungen verwenden möchten, müssen Sie die folgenden Schritte in der gleichen Reihenfolge ausführen:
- Erstellen Sie eine Datenbank in SQL.
- Erstellen Sie die neue SQL-Tabelle.
- Fügen Sie die Daten in die Tabelle ein.
- Sehen Sie sich die eingefügten Daten an.
- Verwenden Sie den SQL IN-Operator, um die Daten der Tabelle anzuzeigen.
Jetzt erklären wir jeden Schritt einzeln kurz anhand des besten SQL-Beispiels:
Schritt 1: Erstellen Sie eine einfache neue Datenbank
Der erste Schritt besteht darin, eine neue Datenbank in Structured Query Language zu erstellen.
Die folgende CREATE-Anweisung erstellt das Neue Mechanical_College Datenbank im SQL Server:
CREATE Database Mechanical_College;
Schritt 2: Erstellen Sie eine neue Tabelle
Verwenden Sie nun die folgende SQL-Syntax, die beim Erstellen der neuen Tabelle in der Datenbank hilft:
CREATE TABLE table_name ( 1st_Column data type (character_size of 1st Column), 2nd_Column data type (character_size of the 2nd column ), 3rd_Column data type (character_size of the 3rd column), ...
Nth_Column data type (character_size of the Nth column) );
Die folgende CREATE-Anweisung erstellt die Fakultätsinfo Tabelle in der Mechanical_College Datenbank:
CREATE TABLE Faculty_Info ( Faculty_ID INT NOT NULL PRIMARY KEY, Faculty_First_Name VARCHAR (100), Faculty_Last_Name VARCHAR (100), Faculty_Dept_Id INT NOT NULL, Faculty_Joining_DateDATE, Faculty_City Varchar (80), Faculty_Salary INT );
Schritt 3: Fügen Sie die Daten in die Tabelle ein
Die folgenden INSERT-Abfragen fügen die Datensätze der Fakultäten in die Tabelle Faculty_Info ein:
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1001, Arush, Sharma, 4001, 2020-01-02, Delhi, 20000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1002, Bulbul, Roy, 4002, 2019-12-31, Delhi, 38000 ); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1004, Saurabh, Sharma, 4001, 2020-10-10, Mumbai, 45000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1005, Shivani, Singhania, 4001, 2019-07-15, Kolkata, 42000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1006, Avinash, Sharma, 4002, 2019-11-11, Delhi, 28000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary)VALUES (1007, Shyam, Besas, 4003, 2021-06-21, Lucknow, 35000);
Schritt 4: Sehen Sie sich die eingefügten Daten an
Die folgende SELECT-Anweisung zeigt die Daten der Faculty_Info-Tabelle an:
SELECT * FROM Faculty_Info;
Fakultäts-ID | Fakultätsvorname | Fakultätsnachname | Faculty_Dept_Id | Faculty_Joining_Date | Fakultät_Stadt | Fakultätsgehalt |
---|---|---|---|---|---|---|
1001 | tragen | Sharma | 4001 | 02.01.2020 | Delhi | 20000 |
1002 | Bulbul | Roy | 4002 | 31.12.2019 | Delhi | 38000 |
1004 | Saurabh | Roy | 4001 | 10.10.2020 | Mumbai | 45000 |
1005 | Shivani | Singhania | 4001 | 15.07.2019 | Kalkutta | 42000 |
1006 | Avinash | Sharma | 4002 | 11.11.2019 | Delhi | 28000 |
1007 | Shyam | Du küsst | 4003 | 21.06.2021 | Lucknow | 35000 |
Schritt 5: Verwenden Sie den IN-Operator, um die Daten der Tabelle Faculty_Info auf unterschiedliche Weise anzuzeigen
Die folgende Abfrage verwendet numerische Werte mit dem IN-Operator:
SELECT Faculty_Id, Faculty_First_Name, Faculty_Dept_Id, Faculty_Joining_Date, Faculty_Salary FROM Faculty_Info WHERE Faculty_Salary IN ( 38000, 42000, 45000, 35000);
Diese Abfrage zeigt nur die Datensätze der Fakultäten an, deren Gehalt im IN-Operator der WHERE-Klausel übergeben wird.
Ausgabe:
Fakultäts-ID | Fakultätsvorname | Faculty_Dept_Id | Faculty_Joining_Date | Fakultätsgehalt |
---|---|---|---|---|
1002 | Bulbul | 4002 | 31.12.2019 | 38000 |
1004 | Saurabh | 4001 | 10.10.2020 | 45000 |
1005 | Shivani | 4001 | 15.07.2019 | 42000 |
1007 | Shyam | 4003 | 21.06.2021 | 35000 |
Die folgende Abfrage verwendet Text- oder Zeichenwerte mit dem logischen Operator IN:
SELECT Faculty_Id, Faculty_First_Name, Faculty_Joining_Date, Faculty_City FROM Faculty_Info WHERE Faculty_City IN ( Mumbai, Kolkata, Lucknow);
Diese Abfrage zeigt nur die Datensätze der Fakultäten an, deren Stadt in der Klammer des IN-Operators in der WHERE-Klausel enthalten ist.
Ausgabe:
So enthüllen Sie versteckte Apps
Fakultäts-ID | Fakultätsvorname | Faculty_Joining_Date | Fakultät_Stadt |
---|---|---|---|
1004 | Saurabh | 10.10.2020 | Mumbai |
1005 | Shivani | 15.07.2019 | Kalkutta |
1007 | Shyam | 21.06.2021 | Lucknow |
Die folgende Abfrage verwendet das DATEformat mit dem logischen Operator IN:
SELECT Faculty_Id, Faculty_First_Name, Faculty_Dept_ID Faculty_Joining_Date, Faculty_Salary FROM Faculty_Info WHERE Faculty_Joining_Date IN (2020-01-02, 2021-06-21, 2020-10-10, 2019-07-15);
Diese Abfrage zeigt nur die Datensätze von Fakultäten an, deren Beitrittsdatum im IN-Operator der WHERE-Klausel übergeben wird.
Ausgabe:
Fakultäts-ID | Fakultätsvorname | Faculty_Dept_Id | Faculty_Joining_Date | Fakultätsgehalt |
---|---|---|---|---|
1001 | tragen | 4001 | 02.01.2020 | 20000 |
1004 | Saurabh | 4001 | 10.10.2020 | 45000 |
1005 | Shivani | 4001 | 15.07.2019 | 42000 |
1007 | Shyam | 4003 | 21.06.2021 | 35000 |
Die folgende Abfrage verwendet den SQL UPDATE-Befehl mit dem logischen Operator IN:
UPDATE Faculty_Info SET Faculty_Salary = 50000 WHERE Faculty_Dept_ID IN (4002, 4003);
Diese Abfrage aktualisiert das Gehalt der Fakultäten, deren Dept_Id im IN-Operator der WHERE-Klausel übergeben wird.
Um das Ergebnis der obigen Abfrage zu überprüfen, geben Sie die folgende SELECT-Abfrage in SQL ein:
SELECT * FROM Faculty_Info;
Fakultäts-ID | Fakultätsvorname | Fakultätsnachname | Faculty_Dept_Id | Faculty_Joining_Date | Fakultät_Stadt | Fakultätsgehalt |
---|---|---|---|---|---|---|
1001 | tragen | Sharma | 4001 | 02.01.2020 | Delhi | 20000 |
1002 | Bulbul | Roy | 4002 | 31.12.2019 | Delhi | 50000 |
1004 | Saurabh | Roy | 4001 | 10.10.2020 | Mumbai | 45000 |
1005 | Shivani | Singhania | 4001 | 15.07.2019 | Kalkutta | 42000 |
1006 | Avinash | Sharma | 4002 | 11.11.2019 | Delhi | 50000 |
1007 | Shyam | Du küsst | 4003 | 21.06.2021 | Lucknow | 50000 |
SQL IN-Operator mit Unterabfrage
In der strukturierten Abfragesprache können wir die Unterabfrage auch mit dem logischen Operator IN verwenden.
Die Syntax des IN-Operators mit Unterabfrage ist unten angegeben:
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name IN (Subquery);
Wenn Sie den IN-Operator mit Unterabfrage verstehen möchten, müssen Sie die beiden unterschiedlichen Tabellen in der Structured Query Language mit der CREATE-Anweisung erstellen.
Die folgende Abfrage erstellt die Faculty_Info-Tabelle in der Datenbank:
CREATE TABLE Faculty_Info ( Faculty_ID INT NOT NULL PRIMARY KEY, Faculty_First_Name VARCHAR (100), Faculty_Last_Name VARCHAR (100), Faculty_Dept_Id INT NOT NULL, Faculty_Address Varchar (80), Faculty_City Varchar (80), Faculty_Salary INT );
Die folgende Abfrage erstellt die Abteilungsinfo Tabelle in der Datenbank:
CREATE TABLE Department_Info ( Dept_Id INT NOT NULL, Dept_Name Varchar(100), Head_Id INT );
Die folgenden INSERT-Abfragen fügen die Datensätze der Fakultäten in die Tabelle Faculty_Info ein:
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1001, Arush, Sharma, 4001, 22 street, New Delhi, 20000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1002, Bulbul, Roy, 4002, 120 street, New Delhi, 38000 ); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1004, Saurabh, Sharma, 4001, 221 street, Mumbai, 45000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1005, Shivani, Singhania, 4001, 501 street, Kolkata, 42000);
Die folgenden INSERT-Abfragen fügen die Datensätze der Abteilungen in die Tabelle Department_Info ein:
INSERT INTO Department_Info (Dept_ID, Dept_Name, Head_Id) VALUES ( 4001, Arun, 1005); INSERT INTO Department_Info (Dept_ID, Dept_Name, Head_Id) VALUES ( 4002, Zayant, 1009); INSERT INTO Department_Info (Dept_ID, Dept_Name, Head_Id) VALUES ( 4003, Manish, 1007);
Die folgende SELECT-Anweisung zeigt die Daten der Faculty_Info-Tabelle an:
SELECT * FROM Faculty_Info;
Fakultäts-ID | Fakultätsvorname | Fakultätsnachname | Faculty_Dept_Id | Fakultätsadresse | Fakultät_Stadt | Fakultätsgehalt |
---|---|---|---|---|---|---|
1001 | tragen | Sharma | 4001 | 22 Straße | Neu-Delhi | 20000 |
1002 | Bulbul | Roy | 4002 | 120 Straße | Neu-Delhi | 38000 |
1004 | Saurabh | Roy | 4001 | 221 Straße | Mumbai | 45000 |
1005 | Shivani | Singhania | 4001 | 501 Straße | Kalkutta | 42000 |
1006 | Avinash | Sharma | 4002 | 12 Straße | Delhi | 28000 |
1007 | Shyam | Du küsst | 4003 | 202 Straße | Lucknow | 35000 |
Die folgende Abfrage zeigt die Datensätze der Abteilung aus der Tabelle Department_Info:
SELECT * FROM Department_Info;
Die folgende Abfrage verwendet den IN-Operator mit einer Unterabfrage:
SELECT * FROM Faculty_Info WHERE Faculty_Dept_Id IN ( Select Dept_Id FROM Department_Info WHERE Head_Id >= 1007);
Diese Abfrage zeigt den Datensatz der Fakultäten an, deren Dept_ID der Tabelle Faculty_Info mit der Dept_Id der Tabelle Department_Info übereinstimmt.
Ausgabe:
Fakultäts-ID | Fakultätsvorname | Fakultätsnachname | Faculty_Dept_Id | Fakultätsadresse | Fakultät_Stadt | Fakultätsgehalt |
---|---|---|---|---|---|---|
1002 | Bulbul | Roy | 4002 | 120 Straße | Neu-Delhi | 38000 |
1006 | Avinash | Sharma | 4002 | 12 Straße | Delhi | 28000 |
1007 | Shyam | Du küsst | 4003 | 202 Straße | Lucknow | 35000 |
Was ist in SQL NICHT IN?
NOT IN ist ein weiterer Operator in der Structured Query Language, der genau das Gegenteil des SQL IN-Operators ist. Es ermöglicht Ihnen den Zugriff auf Werte aus der Tabelle, die nicht in Klammern des IN-Operators übergeben werden.
Der NOT IN-Operator kann in den SQL-Abfragen INSERT, UPDATE, SELECT und DELETE verwendet werden.
Syntax des NOT IN-Operators:
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name NOT IN (Value_1, Value_2, Value_3, ......., Value_N);
Wenn Sie den NOT IN-Operator in den Anweisungen von SQL verwenden möchten, müssen Sie die angegebenen Schritte in derselben Reihenfolge ausführen:
- Erstellen Sie eine Datenbank im SQL-System.
- Erstellen Sie die neue Tabelle in der Datenbank.
- Fügen Sie die Daten in die Tabelle ein
- Sehen Sie sich die eingefügten Daten an
- Verwenden Sie den NOT IN-Operator, um die Daten anzuzeigen.
Jetzt erklären wir jeden Schritt einzeln kurz anhand des besten SQL-Beispiels:
Schritt 1: Erstellen Sie die neue Simple-Datenbank
Die folgende Abfrage erstellt das Neue Zivil_Industrie Datenbank im SQL Server:
CREATE Database Industry;
Schritt 2: Erstellen Sie die neue Tabelle
String-Verkettung Java
Die folgende Abfrage erstellt die Worker_Info Tabelle in der Zivil_Industrie Datenbank:
CREATE TABLE Worker_Info ( Worker_ID INT NOT NULL PRIMARY KEY, Worker_Name VARCHAR (100), Worker_Gender Varchar(20), Worker_Age INT NOT NULL DEFAULT 18, Worker_Address Varchar (80), Worker_Salary INT NOT NULL );
Schritt 3: Geben Sie die Werte ein
Die folgenden INSERT-Abfragen fügen die Datensätze der Arbeiter in die Tabelle Worker_Info ein:
INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1001, Arush, Male, Agra, 35000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1002, Bulbul, Female, Lucknow, 42000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1004, Saurabh, Male, 20, Lucknow, 45000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1005, Shivani, Female, Agra, 28000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1006, Avinash, Male, 22, Delhi, 38000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1007, Shyam, Male, Banglore, 20000);
Schritt 4: Sehen Sie sich die Daten der Tabelle an
Die folgende Abfrage zeigt die Daten der Worker_Info-Tabelle an.
SELECT * FROM Worker_Info;
Worker_ID | Worker_Name | Arbeiter_Geschlecht | Arbeiter_Alter | Worker_Address | Arbeiter_Gehalt |
---|---|---|---|---|---|
1001 | tragen | Männlich | 18 | Agra | 35000 |
1002 | Bulbul | Weiblich | 18 | Lucknow | 42000 |
1004 | Saurabh | Männlich | zwanzig | Lucknow | 45000 |
1005 | Shivani | Weiblich | 18 | Agra | 28000 |
1006 | Avinash | Männlich | 22 | Delhi | 38000 |
1007 | Shyam | Männlich | 18 | Bangalore | 20000 |
Schritt 4: Verwenden Sie den NOT IN-Operator
Die folgende Abfrage verwendet den NOT IN-Operator mit numerischen Daten:
SELECT * FROM Worker_Info WHERE Worker_salary NOT IN (35000, 28000, 38000);
Diese SELECT-Abfrage zeigt alle Arbeiter in der Ausgabe an, deren Gehalt nicht im NOT IN-Operator übergeben wird.
Das Ergebnis der obigen Anweisung ist in der folgenden Tabelle dargestellt:
Worker_ID | Worker_Name | Arbeiter_Geschlecht | Arbeiter_Alter | Worker_Address | Arbeiter_Gehalt |
---|---|---|---|---|---|
1002 | Bulbul | Weiblich | 18 | Lucknow | 42000 |
1004 | Saurabh | Männlich | zwanzig | Lucknow | 45000 |
1007 | Shyam | Männlich | 18 | Bangalore | 20000 |
Die folgende Abfrage verwendet den logischen Operator NOT IN mit Zeichen- oder Textwerten:
SELECT * FROM Worker_Info WHERE Worker_Address NOT IN (Lucknow, Delhi);
Diese Abfrage zeigt den Datensatz aller Arbeiter, deren Adresse nicht im NOT IN-Operator übergeben wird.
Ausgabe:
Worker_ID | Worker_Name | Arbeiter_Geschlecht | Arbeiter_Alter | Worker_Address | Arbeiter_Gehalt |
---|---|---|---|---|---|
1001 | tragen | Männlich | 18 | Agra | 35000 |
1005 | Shivani | Weiblich | 18 | Agra | 28000 |
1007 | Shyam | Männlich | 18 | Bangalore | 20000 |