如何在子查询中使用 IN 运算符?
SQL 中的 IN 运算符允许在 WHERE 子句中指定多个值,它可以帮助您轻松测试表达式是否与值列表中的任何值匹配。 IN 运算符的使用减少了在 SELECT、INSERT、UPDATE 和 DELETE 等语句中对多个 OR 条件的需要。
子查询:
一个或多个 SELECT 语句与另一个 SELECT 语句的 WHERE 子句嵌套的 SQL 查询称为子查询。此类查询的第一个语句称为外部查询,而内部查询称为内部查询。在执行此类查询时,将首先评估内部查询,外部查询接收内部查询的值。
现在,我们将为我们的数据库创建一个架构,并将其命名为 geeks for geeks。之后,我们将在其中创建一个名为 geeks_data 的表,并在子查询中使用 IN运算符。
第一步:创建数据库
为了创建数据库,我们需要使用 CREATE运算符。
询问 :
CREATE DATABASE geeksforgeeks;
输出:
第二步:在数据库中创建一个表
在这一步中,我们将在 geeks for geeks 数据库中创建两个表geeks_data和geek_dept 。
- 创建 geeks_data 表:
询问 :
CREATE TABLE geeks_data(id INT,
first_name VARCHAR(255),
last_name VARCHAR(255),
dept VARCHAR(255),
PRIMARY KEY(id));
- 创建 geeks_dept 表:
询问:
CREATE TABLE geeks_dept(id INT,
dept_name VARCHAR(255),
PRIMARY KEY(id));
第 3 步:向表中插入数据
为了在数据库中插入数据,我们需要使用 INSERT运算符。首先,我们将它插入到 geeks_data 表中。
询问:
INSERT INTO geeks_data VALUES
(1, 'Chandan', 'Mishra', 'Mechnical'),
(2, 'Abhinav', 'Singh', 'Electronics'),
(3, 'Utkarsh', 'Raghuvanshi', 'Computer Science');
输出:
现在我们将为表 geeks_dept 插入数据。
INSERT INTO geeks_dept VALUES (1, 'Computer Science'),
(2, 'Electronics'),
(3, 'Computer Science'),
(4, 'Mechanical');
输出:
步骤 4:在子查询中执行 IN 运算符
在这一步中,我们将尝试从geeks_data表中找出geek的数据,这些geeks_data是计算机科学系的,在geeks_dept表的帮助下使用子查询。
询问:
SELECT first_name, last_name FROM geeks_data WHERE dept IN
(SELECT dept_name FROM geeks_dept WHERE id = 1);
我们将获得来自计算机科学系的极客的 first_name 和 last_name。
输出: