MySql简单入门_第三篇 数据操作(1)_查询

第三篇  SQL查询语句

3.1 查询数据 SELECT

子句顺序

子句

说明

是否必须使用

SELECT

要返回的列或表达式

FROM

从中检索数据的表

仅在从表选择数据时使用

WHERE

行级过滤

GROUP BY

分组说明

仅在按组计算聚集时使用

HAVING

组级过滤

ORDER BY

输出排序顺序

LIMIT

要检索的行数

查询数据是指从数据库中获取所需要的数据(select)

操作

语法

基本查询

SELECT  属性列表

         FROM  表名和视图列表

         [WHERE   条件表达式1]

         [GROUP  BY  属性名1  [HAVING  条件表达式2]]

         [ORDER  BY  属性名2  [ASC | DESC]]

MySql简单入门_第三篇 数据操作(1)_查询_第1张图片

单表查询

查询所有字段

第一种: SELECT  *  FROM  表名;

第二种: SELECT  表的所有字段  FROM  表名;(灵活)

MySql简单入门_第三篇 数据操作(1)_查询_第2张图片

 

MySql简单入门_第三篇 数据操作(1)_查询_第3张图片

 

查询特定字段

SELECT  特定字段  FROM   表名

MySql简单入门_第三篇 数据操作(1)_查询_第4张图片

查询指定记录

WHERE   条件表达式

MySql简单入门_第三篇 数据操作(1)_查询_第5张图片

MySql简单入门_第三篇 数据操作(1)_查询_第6张图片

 

带IN 关键字

[NOT]  IN  (元素1,元素2,……,元素n)(IN关键字可以判断某个字段的值是否在指定的集合中)

 

MySql简单入门_第三篇 数据操作(1)_查询_第7张图片

MySql简单入门_第三篇 数据操作(1)_查询_第8张图片

带BETWEEN AND 的范围

[NOT]  BETWEEN 取值1  AND  取值2(BETWEEN AND可以判断某个字段的值是否在指定的范围内)

MySql简单入门_第三篇 数据操作(1)_查询_第9张图片

带LIKE 字符

[NOT]  LIKE ‘字符串’[LIKE 关键字可以匹配字符串是否相等。]

MySql简单入门_第三篇 数据操作(1)_查询_第10张图片

查询空值

IS  [NOT]  NULL【是用 IS 进行判断,而不是=】

MySql简单入门_第三篇 数据操作(1)_查询_第11张图片

AND 多条件

条件表达式1  AND  条件表达式2   […… AND  条件表达式n]

MySql简单入门_第三篇 数据操作(1)_查询_第12张图片

OR 多条件

条件表达式1  OR  条件表达式2 […… 条件表达式n]

MySql简单入门_第三篇 数据操作(1)_查询_第13张图片

 

结果不重复

SELECT  DISTING  属性名  WHERE  表名

对结构排序

ORDER  BY  属性名  [ASC | DESC]

 

MySql简单入门_第三篇 数据操作(1)_查询_第14张图片

 

分组查询

GROUP  BY  属性名 [HAVING  条件表达式] [ WITH ROLLUP]

[having条件表达式用来限制分组后的显示,满足条件表达式的结果将被显示;‘with rollup关键字将会在所有记录的最后加上一条记录’]

 

group_concat 将分组情况显示出来

MySql简单入门_第三篇 数据操作(1)_查询_第15张图片

count、max、min 计算分组中的总记录

MySql简单入门_第三篇 数据操作(1)_查询_第16张图片

HAVING 条件表达式:限制输出的结果

MySql简单入门_第三篇 数据操作(1)_查询_第17张图片

with rollup:最后一条记录是上面所有记录的总和

MySql简单入门_第三篇 数据操作(1)_查询_第18张图片

 

LIMIT 限制查询结果的数量

LIMIT 记录数       [记录数:显示记录的条数]

LIMIT 初始位置,记录数  [‘初始位置’:指定从哪条记录开始显示]

 

MySql简单入门_第三篇 数据操作(1)_查询_第19张图片

 

 

使用集合函数查询

记录条数

COUNT( )

字段值总和

SUM( )

字段值平均值

AVG( )

字段最大值

MAX( )

字段最小值

MIN( )

 

MySql简单入门_第三篇 数据操作(1)_查询_第20张图片

MySql简单入门_第三篇 数据操作(1)_查询_第21张图片

MySql简单入门_第三篇 数据操作(1)_查询_第22张图片

MySql简单入门_第三篇 数据操作(1)_查询_第23张图片

 

连接查询

[将两个或两个以上的表按某个条件连接起来,从中选取需要的数据。]

 

其实就是数据关联匹配

内连接

SELECT  属性名列表

FROM 表名1,表名2

          WHERE 表名1.属性名1=表名2.属性名2

MySql简单入门_第三篇 数据操作(1)_查询_第24张图片

 

 

MySql简单入门_第三篇 数据操作(1)_查询_第25张图片

MySql简单入门_第三篇 数据操作(1)_查询_第26张图片

外连接

SELECT  属性名列表

         FROM  表名1  LEFT | RIGHT  JOIN  表名2

         ON  表名1.属性名1=表名2.属性名2;

 

MySql简单入门_第三篇 数据操作(1)_查询_第27张图片

左连接

MySql简单入门_第三篇 数据操作(1)_查询_第28张图片

右连接

 

复合条件连接

 

 

MySql简单入门_第三篇 数据操作(1)_查询_第29张图片

MySql简单入门_第三篇 数据操作(1)_查询_第30张图片

子查询

(将一个查询语句嵌套在另一个查询语句中)

带IN关键字

SELECT  *  FROM 表名1

         WHERE  属性名  (NOT) IN

         ( SELECT   属性名  FROM  表名2)

原始数据

MySql简单入门_第三篇 数据操作(1)_查询_第31张图片

MySql简单入门_第三篇 数据操作(1)_查询_第32张图片

MySql简单入门_第三篇 数据操作(1)_查询_第33张图片

 

 

带比较运算符

SELECT  *  FROM 表名1

         WHERE  属性名1>=

         ( SELECT   属性名1  FROM  表名2

WHERE  属性名2)

 

原始数据

MySql简单入门_第三篇 数据操作(1)_查询_第34张图片

 

MySql简单入门_第三篇 数据操作(1)_查询_第35张图片

 

结果数据

MySql简单入门_第三篇 数据操作(1)_查询_第36张图片

带EXISTS关键字

SELECT  *  FROM 表名1

         WHERE  EXISTS

                  ( SELECT   属性名1  FROM  表名2

WHERE  属性名2=条件1)

【EXISTS关键字表示存在。使用EXISTS关键字时,内层查询语句不返回查询的记录。而是返回一个真假值。如果内层查询语句查询到满足条件的记录,就返回一个真值(true),否则,将返回一个假值(false)】

MySql简单入门_第三篇 数据操作(1)_查询_第37张图片

内层查询语句返回一个true,外层查询语句接收true后,开始查询score表中的记录

带ANY关键字

SELECT  *  FROM 表名1

         WHERE  ANY  比较运算符

                  ( SELECT   属性名1  FROM  表名2)

【ANY关键字表示满足其中任一条件。使用ANY关键字时,只要满足内层查询语句返回的结果中的任何一个,就可以通过该条件来执行外层查询语句。】

MySql简单入门_第三篇 数据操作(1)_查询_第38张图片

带ALL关键字

SELECT  *  FROM 表名1

         WHERE  ALL  比较运算符

                  ( SELECT   属性名1  FROM  表名2)

MySql简单入门_第三篇 数据操作(1)_查询_第39张图片

为表和字段取别名

为表取别名

表名  表的别名

MySql简单入门_第三篇 数据操作(1)_查询_第40张图片

为字段取别名

属性名 [AS]  属性别名

MySql简单入门_第三篇 数据操作(1)_查询_第41张图片

使用正则表达式查询

【正则表达式是用某种模式去匹配一类字符串的一个方式】

属性名  REGEXP  匹配方式

MySql简单入门_第三篇 数据操作(1)_查询_第42张图片

以特定字符或字符串开头的记录

SELECT  *  FROM  表名  WHERE  属性名  REGEXP ^匹配方式;

MySql简单入门_第三篇 数据操作(1)_查询_第43张图片

以特定字符或字符串结尾的记录

SELECT  *  FROM  表名  WHERE  属性名  REGEXP 匹配方式 $ ;

MySql简单入门_第三篇 数据操作(1)_查询_第44张图片

符号“ . ”来替代字符串中的任意

SELECT  *  FROM  表名  WHERE  属性名  REGEXP ^...... $

MySql简单入门_第三篇 数据操作(1)_查询_第45张图片

匹配指定字符中的任意一个

‘[字符集]’   :只要记录中包含方括号中的任意字符,该记录将会被查询出来。

MySql简单入门_第三篇 数据操作(1)_查询_第46张图片

匹配指定字符以外的字符

‘[^字符集合]’:匹配指定字符以外的字符

匹配指定字符

‘字符’ :若指定多个字符串时,需要用符号“|”隔开

MySql简单入门_第三篇 数据操作(1)_查询_第47张图片

使用“*”和“+”来匹配多个字符

“+”:至少表示一个字符;“*”:表示0个字符

{M}指定字符串连续出现的次数

 

你可能感兴趣的:(mysql,mysql)