如何选择某些列包含某些数据的列选择具有相同另一列的所有列

时间:2017-10-10 10:09:48

标签: mysql

我们说我有数据库......

$db = [
['a' => 1, 'b'=> 2  ],
['a' => 1, 'b'=> 12 ],
['a' => 2, 'b'=> 2  ],
['a' => 3, 'b'=> 12 ],
['a' => 4, 'b'=> 2  ],
['a' => 4, 'b'=> 12 ],
['a' => 4, 'b'=> 4  ],
    ];

如何正确编写where语句,以查看其中一个a或仅包含b=4的所有b=12

WHERE

据我所知,仅适用于一行。我认为这就像为每个语句解析数据库三次,但这次我不担心性能。

编辑:这是WHERE' b = 12'的常见元素。和WHERE 1 = 1

2 个答案:

答案 0 :(得分:0)

你的意思是得到b值为4或12的b? 也许你可以用它 SELECT * FROM table WHERE b IN (4,12);

答案 1 :(得分:0)

SELECT * FROM table WHERE a IN ( SELECT a FROM table WHERE b=4);

第二个似乎是

SELECT * FROM table WHERE a NOT IN ( SELECT a FROM table WHERE b != 12) AND b = 12;