zoukankan      html  css  js  c++  java
  • 3.3.4.2选择特定行

     

    如上一部分所示,很容易检索整个表。只需WHERESELECT语句中省略该子句即可但通常您不希望看到整个表格,尤其是当表格变大时。取而代之的是,您通常对回答特定问题更感兴趣,在这种情况下,您可以对所需信息指定一些约束。让我们从与宠物有关的问题来看一些选择查询。

    您只能从表中选择特定的行。例如,如果要验证对Bowser的生日所做的更改,请选择Bowser的记录,如下所示:

    mysql> SELECT * FROM pet WHERE name = 'Bowser';
    +--------+-------+---------+------+------------+------------+
    | name   | owner | species | sex  | birth      | death      |
    +--------+-------+---------+------+------------+------------+
    | Bowser | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |
    +--------+-------+---------+------+------------+------------+

    输出确认该年正确记录为1989,而不是1979。

    字符串比较通常不区分大小写,因此您可以将名称指定为'bowser', 'BOWSER'等等。查询结果相同。

    您可以在任何列上指定条件,而不仅仅是 name例如,如果您想知道在1998年或之后出生的动物,请测试以下列 birth

    mysql> SELECT * FROM pet WHERE birth >= '1998-1-1';
    +----------+-------+---------+------+------------+-------+
    | name     | owner | species | sex  | birth      | death |
    +----------+-------+---------+------+------------+-------+
    | Chirpy   | Gwen  | bird    | f    | 1998-09-11 | NULL  |
    | Puffball | Diane | hamster | f    | 1999-03-30 | NULL  |
    +----------+-------+---------+------+------------+-------+

    您可以组合条件,例如查找雌狗:

    mysql> SELECT * FROM pet WHERE species = 'dog' AND sex = 'f';
    +-------+--------+---------+------+------------+-------+
    | name  | owner  | species | sex  | birth      | death |
    +-------+--------+---------+------+------------+-------+
    | Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
    +-------+--------+---------+------+------------+-------+

    前面的查询使用AND 逻辑运算符。还有一个 OR运算符:

    mysql> SELECT * FROM pet WHERE species = 'snake' OR species = 'bird';
    +----------+-------+---------+------+------------+-------+
    | name     | owner | species | sex  | birth      | death |
    +----------+-------+---------+------+------------+-------+
    | Chirpy   | Gwen  | bird    | f    | 1998-09-11 | NULL  |
    | Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL  |
    | Slim     | Benny | snake   | m    | 1996-04-29 | NULL  |
    +----------+-------+---------+------+------------+-------+

    AND并且 OR可以混合使用,尽管 AND优先级高于 OR如果同时使用这两个运算符,则最好使用括号来明确指示应如何对条件进行分组:

     
    mysql> SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm')
           OR (species = 'dog' AND sex = 'f');
    +-------+--------+---------+------+------------+-------+
    | name  | owner  | species | sex  | birth      | death |
    +-------+--------+---------+------+------------+-------+
    | Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
    | Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
    +-------+--------+---------+------+------------+-------+
  • 相关阅读:
    【老孙随笔】关羽和吕蒙——天才的失败
    【老孙随笔】项目经理要向唐骏学习
    WebService里奇怪的参数值偏移现象?
    [原创]让您的服务器不再有被挂马的烦恼文件安全卫士
    C#里也可以用上Eval函数了:)
    使用HTTP_X_FORWARDED_FOR获取客户端IP的严重后果
    支持算术运算、逻辑运算、位运算的表达式求值
    在Lambda表达式中进行递归调用
    认识Lambda表达式
    将你的QQ唠叨或QQ签名数据加入到博客上:)
  • 原文地址:https://www.cnblogs.com/owlin/p/13730567.html
Copyright © 2011-2022 走看看