如何在一个查询中获取多行?

时间:2016-01-11 14:04:13

标签: mysql

我在MySQL中有一个小表如下:

 pid   pName    pPrice
  1    TBall    100.00
  2    MBall    200.00
  3    TJers    250.00
  4    MJers    275.00

我希望在单个查询中获得多行:

Select * from <tablename> where pName='Tball' and 'MBall';

(这段代码错了;我想要一个与此类似的正确解决方案。)

查询应该产生以下结果:

pid  pName  pPrice
 1   TBall  100.00
 2   MBall  200.00

1 个答案:

答案 0 :(得分:4)

问题是:

  • Q值。 &#34;我做了什么来避免获取所有行?&#34;

  • 一个。您添加了约束WHERE子句

  • Q值。 &#34;如何使其 les 限制性?&#34;

  • 一个。使约束限制较少。

  • Q值。 &#34;你有一些我可以做到的例子吗?&#34;

  • 一个。嗯,是。 where子句有表达式语法。其中 其他有逻辑运算符ANDORNOT),你可以查看 平等(=,IS NULL)。 SQL的许多方言都有其他运算符 (BETWEENLIKE),最后所有人都应该拥有IN运营商。

可以组合所有运算符,并且可以将子表达式括在其中 像你这样的括号将3 * (7 + 5)(3 * 7) + 5区分开来。

您可以在这里使用OR逻辑运算符:

SELECT * FROM <tablename> WHERE (pName = 'TBall') OR (pName = 'MBall');

或者,您可以使用IN

SELECT * FROM <tablename> WHERE pName IN ('TBall','MBall');

或者,您甚至可以将LIKE用于您的用例:

SELECT * FROM <tablename> WHERE pName LIKE '%Ball';