Mysql SQL-如何获取在任何列中具有特定值的所有行?

Mysql SQL-如何获取在任何列中具有特定值的所有行?,mysql,sql,relational-database,Mysql,Sql,Relational Database,如果我有一个表“FRIENDS”,它包含两个属性,user和friend,其内容包括: (杰克,凯文) (杰克,鲍勃) (鲍勃、凯文) (阿诺德,杰克) 我想写一个查询来检索Jake的所有朋友。找回凯文和鲍勃很容易,因为杰克是他们的主键。但是阿诺德也是杰克的朋友,除了在他那一排,阿诺德是主键。如何编写一个查询,对其中一列为“Jake”的所有行检索另一列 顺便说一下,这是针对mySQL的。使用大小写表达式: SELECT CASE WHEN col1 = 'Jake' THEN col2 ELSE

如果我有一个表“FRIENDS”,它包含两个属性,user和friend,其内容包括:

(杰克,凯文)

(杰克,鲍勃)

(鲍勃、凯文)

(阿诺德,杰克)

我想写一个查询来检索Jake的所有朋友。找回凯文和鲍勃很容易,因为杰克是他们的主键。但是阿诺德也是杰克的朋友,除了在他那一排,阿诺德是主键。如何编写一个查询,对其中一列为“Jake”的所有行检索另一列


顺便说一下,这是针对mySQL的。

使用
大小写
表达式:

SELECT CASE WHEN col1 = 'Jake' THEN col2 ELSE col1 END AS friend
FROM tablename
WHERE 'Jake' IN (col1, col2)

col1
col2
更改为列的名称。

此处没有“主键”