一. 查找记录的语法结构
查找记录语法结构:
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子句。
请登录之后再进行评论