• 中文
    • English
  • 注册
  • 查看作者
  • 4-6:MySQL 查询表达式解析

    一.  查找记录的语法结构

    查找记录语法结构:

    SELECT select_expr [,select_expr...]
    [
    FROM table_references
    [WHERE where_condition]
    [GROUP BY {col_name | position} [ASC| DESC],...]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position} [ASC | DESC],...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    ]

    二.  查询表达式

    1.  每一个表达式表示想要的一列,必须有至少一个。多个列之间以英文逗号分隔。比如我想查找id和username这两列的记录:

    mysql> SELECT id,username FROM users;
    +----+----------+
    | id | username |
    +----+----------+
    |  1 | Tom      |
    |  2 | John     |
    |  3 | Tom      |
    |  4 | John     |
    |  5 | John     |
    |  7 | Rose     |
    |  8 | BEn      |
    |  9 | 111      |
    +----+----------+
    8 rows in set (0.01 sec)

    值得注意的是:SELECT语句的查询表达顺序,将影响结果集顺序

    2.  星号(*)表示所有列。

    3.  tbl_na me.*可以表示命名表的所有列。比如还是查找查d和username这两列的记录:

    mysql> SELECT users.id,users.username FROM users;
    +----+----------+
    | id | username |
    +----+----------+
    |  1 | Tom      |
    |  2 | John     |
    |  3 | Tom      |
    |  4 | John     |
    |  5 | John     |
    |  7 | Rose     |
    |  8 | BEn      |
    |  9 | 111      |
    +----+----------+
    8 rows in set (0.00 sec)

    在使用多表链接时,该方法可以用于区别不同数据表的同名字段。

    4.  查询表达式可以使用[AS] alias_name为其赋予别名。比如有时候一些字段的名字非常长,不容易记忆,就可以赋予别名:

    mysql> SELECT id AS userID,username AS uname FROM users;
    +--------+-------+
    | userID | uname |
    +--------+-------+
    |      1 | Tom   |
    |      2 | John  |
    |      3 | Tom   |
    |      4 | John  |
    |      5 | John  |
    |      7 | Rose  |
    |      8 | BEn   |
    |      9 | 111   |
    +--------+-------+
    8 rows in set (0.00 sec)

    可以看到字段的别名将影响结果集中字段的别名,另外虽然AS关键词可以省略,但是强烈建议不要这样做

    5.  别名可用于GROUP BY,ORDRE BY或HAVING子句。

     

     

  • 0
  • 0
  • 0
  • 3.5k
  • 请登录之后再进行评论

    登录
    单栏布局 侧栏位置: