(4-2)MySQL 记录的查询——SELECT

目录

1 SELECT语法

2 查询多列数据

2.1 field

2.2 table.field

3 AS(使用别名)

4 WHERE(条件查询)

4.1 简介

4.2 WHERE的使用 

5 GROUP BY (查询结果分组)

5.1 查询结果分组

5.2 使用

6 HAVING(分组条件) 

 7 ORDER BY(查询结果的排序)

8 LIMIT (限制查询数量) 

9 参考 


1 SELECT语法

查找记录

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)每一个表达式表示想要的一列,必须有至少一个。

(2)多个列之间以英文逗号分隔。

(3)* (星号)表示所有列。tbl_name.*可以表示命名表的所有列。

(4)查询表达式可以使用[ AS ] alias_name为其赋予别名。

(5)别名可用于GROUP BY , ORDER BY 或HAVING字句。

2 查询多列数据

2.1 field

SELECT id,username FROM users;

2.2 table.field

SELECT users.id,users.username FROM users;

注意:①使用多表连接时,可能会出现不同的表出现相同的字段,这时需要使用方法二。

           ②SELECT 语句字段出现的顺序会影响结果集字段出现的顺序。

查询某几列

3 AS(使用别名)

有时,为了方便记忆或书写方便,会使用字段别名 .

例如:SELECT id AS userid,username AS uname FROM users;

注意:AS 可省略,建议写上,避免造成歧义(如SELECT id username  FROM users;)

使用别名

4 WHERE(条件查询)

4.1 简介

    WHERE条件表达式:对记录进行过滤,如果没有指定WHERE子句,则显示所有记录。在WHERE表达式中,可以使用MySQL支持的函数或运算符。

4.2 WHERE的使用 

例子:SELECT id username  FROM users WHERE id>5;

WHERE 条件语句

5 GROUP BY (查询结果分组)

5.1 查询结果分组

    [GROUP BY {col_name | position} [ASC | DESC], ...]

说明:ASC表示升序,DESC表示降序,存在多个分组条件中间用逗号隔开。

5.2 使用

例一:SELECT sex FROM users GROUP BY sex;

GROUP BY分组示例

6 HAVING(分组条件) 

语法结构:[HAVING where_condition](对某一部分数据进行分组)

错误例子:SELECT sex FROM users GROUP BY sex HAVING age>30;

       原因:在采用HAVING分组条件的指定时,分组条件要么是一个聚合函数(求和,平均数,绝对值函数等),要么该条件在当前SELECT语句出现过。

HAVING语句

 7 ORDER BY(查询结果的排序)

语法结构:对查询结果进行排序

[ORDER BY {col_name | expr | position} [ASC | DESC], ...]

例子:SELECT * FROM users ORDER BY id DESC;(按单个字段排序)

按id降序排序

例子:SELECT * FROM users ORDER BY sex,id DESC;(按多个字段进行排序 )

先按sex升序,再按id降序

8 LIMIT (限制查询数量) 

语法结构:

    [LIMIT {[offset,] row_count | row_count OFFSET offset}]

例如:SELECT * FROM users LIMIT 2;

LIMIT 使用1

 SELECT * FROM users LIMIT 2,2;(注意:a,b  a是起始位置从0开始,b是记录个数)

LIMIT 使用2

9 参考 

慕课网——MySQL 记录的查询

猜你喜欢

转载自blog.csdn.net/qq_29406323/article/details/86595435
4-2
今日推荐