在MYSQL和SQL Server中,可以使用以下方法在多列中搜索一个值,而不需要迭代/循环/游标:
SELECT * FROM table_name WHERE column1 = 'value' OR column2 = 'value' OR column3 = 'value';
在SQL Server中:
SELECT * FROM table_name WHERE column1 = 'value' OR column2 = 'value' OR column3 = 'value';
这将返回包含指定值的任何列的行。
SELECT * FROM table_name WHERE column1 = 'value'
UNION
SELECT * FROM table_name WHERE column2 = 'value'
UNION
SELECT * FROM table_name WHERE column3 = 'value';
在SQL Server中:
SELECT * FROM table_name WHERE column1 = 'value'
UNION
SELECT * FROM table_name WHERE column2 = 'value'
UNION
SELECT * FROM table_name WHERE column3 = 'value';
这将返回包含指定值的任何列的行。
SELECT * FROM table_name WHERE
CASE
WHEN column1 = 'value' THEN 1
WHEN column2 = 'value' THEN 1
WHEN column3 = 'value' THEN 1
ELSE 0
END = 1;
在SQL Server中:
SELECT * FROM table_name WHERE
CASE
WHEN column1 = 'value' THEN 1
WHEN column2 = 'value' THEN 1
WHEN column3 = 'value' THEN 1
ELSE 0
END = 1;
这将返回包含指定值的任何列的行。
以上是在MYSQL和SQL Server中在多列中搜索一个值的几种方法,可以根据具体情况选择适合的方法。
领取专属 10元无门槛券
手把手带您无忧上云