MYSQL 如何编写某字段值匹配另一字段值的查询语句?
从characteristics表查询同值字段匹配行的SQL写法
你需要的基础查询语句如下:
SELECT eye_color, hair_color, sex FROM characteristics WHERE eye_color = hair_color;
补充说明
- 上述语句直接在
WHERE子句中对同一行的eye_color和hair_color两个字段做等值校验,只有两个字段取值完全相等的行才会返回,自动覆盖你举的Dark brown这类取值匹配的场景 - 如果需要忽略大小写、前后空格对匹配的影响,可以调整条件,例如MySQL环境下可以写为:
SELECT eye_color, hair_color, sex FROM characteristics WHERE TRIM(LOWER(eye_color)) = TRIM(LOWER(hair_color)); - 如果你需要额外限定匹配的具体取值,比如只要两个字段都等于
Dark brown的行,可以追加过滤条件:SELECT eye_color, hair_color, sex FROM characteristics WHERE eye_color = hair_color AND eye_color = 'Dark brown';
内容的提问来源于stack exchange,提问作者R.J. Kawoya
相关产品推荐
相关产品推荐

