SQL从所有列都等于值的表中进行选择
有没有一种方法可以选择数据库表中每一列都等于一个值的所有内容 假设我有这张桌子:SQL从所有列都等于值的表中进行选择,sql,Sql,有没有一种方法可以选择数据库表中每一列都等于一个值的所有内容 假设我有这张桌子: +-----------------------------+ | people | +-----------------------------+ | id | name |address| age | +------+------+-------+-------+ |1 |Arnold| USA | 31 | |2 |Andeng|
+-----------------------------+
| people |
+-----------------------------+
| id | name |address| age |
+------+------+-------+-------+
|1 |Arnold| USA | 31 |
|2 |Andeng| PHI | 18 |
|3 | Bea | UK | 52 |
+------+------+-------+-------+
SQL语句如下所示:
SELECT id, name, address, age
FROM people
WHERE id, name, age, address LIKE '%$value%'
我希望你明白我的意思。在SQL中,你需要独立测试每个值:
SELECT id, name, address, age
FROM people
WHERE id LIKE '%$value%' AND
name LIKE '%$value%' AND
age LIKE '%$value%' AND
address LIKE '%$value%';
第一个音符。这假定列是字符串。如果需要,LIKE应该只用于显式转换其他类型的字符串
第二个音符。如果要将参数传递到查询中,请使用参数。不要咀嚼查询字符串。如果列不都是字符串类型,则此操作将无法正常执行。我认为有这种需要可能意味着桌子设计不好。但是因为你用了“芒格”这个词,所以我投了赞成票!谢谢你的回答。还请添加一些解释,虽然乍一看似乎很明显,但也可能让一些用户感到困惑。干杯
SELECT id, name, address, age
FROM people
WHERE id = 'value'
AND name = 'value'
AND age = 'value'
AND address = 'value';