用于匹配同一列中的多个值的 SQL 查询
在 SQL 中,为了匹配同一列中的多个值,我们需要在查询中使用一些特殊的词。下面,演示了 3 种使用IN 、 LIKE和运算符(>=)来实现此目的的方法。对于本文,我们将使用 Microsoft SQL Server 作为我们的数据库。
第 1 步:创建数据库。为此,请使用以下命令创建一个名为 GeeksForGeeks 的数据库。
询问:
CREATE DATABASE GeeksForGeeks
输出:
第 2 步:使用 GeeksForGeeks 数据库。为此,请使用以下命令。
询问:
USE GeeksForGeeks
输出:
第 3 步:在 GeeksForGeeks 数据库中创建表 CARS。该表有 3 列,即 CAR_NAME、COMPANY 和 COST,包含各种汽车的名称、公司和成本。
询问:
CREATE TABLE CARS(
CAR_NAME VARCHAR(10),
COMPANY VARCHAR(10),
COST INT);
输出:
第 4 步:描述表 CARS 的结构。
询问:
EXEC SP_COLUMNS CARS;
输出:
第 5 步:在 CARS 表中插入 5 行。
询问:
INSERT INTO CARS VALUES('INNOVA','TOYOTA',10000);
INSERT INTO CARS VALUES('CAMRY','TOYOTA',20000);
INSERT INTO CARS VALUES('CIAZ','HONDA',30000);
INSERT INTO CARS VALUES('POLO','VOLKSWAGEN',50000);
INSERT INTO CARS VALUES('BENZ','MERCEDES',100000);
输出:
步骤 6:显示 CARS 表的所有行。
询问:
SELECT * FROM CARS;
输出:
第 7 步:检索属于 TOYOTA 和 HONDA 公司的所有汽车的详细信息。
注意– 使用IN匹配多个值,即TOYOTA和HONDA在同一列中,即COMPANY 。
句法:
SELECT * FROM TABLE_NAME WHERE COLUMN_NAME IN (MATCHING_VALUE1,MATCHING_VALUE2);
询问:
SELECT * FROM CARS WHERE COMPANY IN ('TOYOTA','HONDA');
输出:
第 8 步:检索名称以字母 C 开头的所有汽车的详细信息。
注意– 使用LIKE匹配多个值,即同一列中的CAMRY和CIAZ ,即CAR_NAME 。
句法:
SELECT * FROM TABLE_NAME WHERE COLUMN_NAME LIKE 'STARTING_LETTER%';
询问:
SELECT * FROM CARS WHERE CAR_NAME LIKE 'C%';
输出:
步骤 9:检索所有成本大于或等于 30000 的汽车的详细信息。
注意– 使用运算符>=来匹配同一列中的多个值,即30000 、 50000和100000 ,即COST 。
句法:
SELECT * FROM TABLE_NAME WHERE COLUMN_NAME >=VALUE;
询问:
SELECT * FROM CARS WHERE COST>=30000;
输出: