📜  排除多个值的 SQL 查询

📅  最后修改于: 2022-05-13 01:54:59.239000             🧑  作者: Mango

排除多个值的 SQL 查询

要排除要从表中获取的多个值,我们可以使用多个 OR 语句,但是当我们想要排除大量值时,编写多个 AND 语句会变得很冗长,为了避免这种情况,我们可以使用 NOT IN 子句和值数组需要用 WHERE 语句排除的。

在本文中,让我们看看使用 AND 和 NOT IN 子句排除多个值的 SQL 查询。

创建数据库

使用以下命令创建名为 GeeksforGeeks 的数据库:

CREATE DATABASE GeeksforGeeks

使用数据库

要使用 GeeksforGeeks 数据库,请使用以下命令:



USE GeeksforGeeks

创建表

使用以下 SQL 查询创建一个包含 4 列的表 student_details:

CREATE TABLE student_details(
stu_id VARCHAR(8),
branch VARCHAR(20),
course_code VARCHAR(10),
backlogs VARCHAR(10)
);

验证表:

使用以下 SQL 查询查看数据库中表的描述:

EXEC sp_columns student_details;

向表中插入数据:

使用以下 SQL 查询将行插入 student_details 表中:

INSERT INTO student_details VALUES
  ('191401','E.C.E','ECPC-251', 'NO'),
  ('191302','I.C.E','ICPC-221','YES'),
  ('191305','I.C.E','ICPC-225','YES'),
  ('191410','E.C.E','ECPC-251', 'YES'),
  ('191210','M.E','MEPC-103', 'YES'),
  ('191215','M.E','MEPC-101', 'NO'),
   ('191505','C.E','CEPC-501', 'NO'),
  ('191525','C.E','CEPC-502', 'NO');

验证插入的数据

使用以下 SQL 查询在插入行后查看表 student_details:



SELECT* FROM employee_details;

使用 S语法的示例查询:

1.查询除'ECE', 'ICE', 'ME'以外的学生

使用不在:

句法:

SELECT * FROM table_name
WHERE req_column NOT IN(data1,data2,data3,....)

询问:

SELECT* FROM student_details
WHERE branch NOT IN ('E.C.E','I.C.E','M.E');

使用 AND:

句法:

SELECT * FROM table_name
WHERE condition1 AND condition2 AND condition3;

询问:

SELECT* FROM student_details
WHERE branch<>'E.C.E' AND branch <> 'I.C.E' AND branch<>'M.E';

2.查询将backlogs更新为除了CE和ME的学生之外的NO

UPDATE student_details
SET backlogs='NO' WHERE branch NOT IN ('C.E','M.E');
SELECT* FROM student_details;