select结构        

        select 需要查询的字段

        from 表名1  表别名1 join 表名2 别名2

        on 链接条件

        where 过滤条件

        group by 分组

        having  过滤条件

        order by 排序

   limit 分页

列名一般用""(双引号)

distanct 去掉重复行


SELECT DISTINCT department_id    FROM   employees;


mysql查询不包含中文的字段 mysql不包含语句_子查询

 空值参与运算


 所有运算符或列值遇到 null 值,运算的结果都为 null


这里你一定要注意,在 MySQL 里面, 空值不等于空字符串。一个空字符串的长度是 0,而一个空值的长 度是空。而且,在 MySQL 里面,空值是占用空间的。






mysql查询不包含中文的字段 mysql不包含语句_sql_02


where 过滤数据

   

mysql查询不包含中文的字段 mysql不包含语句_mysql_03

运算符

算数运算符 

mysql查询不包含中文的字段 mysql不包含语句_mysql_04

 比较运算符

mysql查询不包含中文的字段 mysql不包含语句_mysql_05

 非符号运算符

mysql查询不包含中文的字段 mysql不包含语句_数据库_06

 逻辑运算符

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_07

 排序

mysql查询不包含中文的字段 mysql不包含语句_数据库_08

 分页

mysql查询不包含中文的字段 mysql不包含语句_sql_09

 

mysql查询不包含中文的字段 mysql不包含语句_sql_10

 多表查询

                                        等值连接 vs  非等值连接

等值连接:

 

mysql查询不包含中文的字段 mysql不包含语句_子查询_11


拓展1:多个连接条件与AND 操作符 


拓展2:需要注意的是,如果我们使用了表的别名,在查询字段中、过滤条件中就只能使用别名进              行代替,不能使用原有的表名,否则就会报错。 


非等值连接:


mysql查询不包含中文的字段 mysql不包含语句_子查询_12


                                      自连接  vs  非自连接

自连接:通常理解为自己连自己

mysql查询不包含中文的字段 mysql不包含语句_子查询_13

 非自连接:自己表连其他表

                                          内连接  vs 外连接


内连接 :    合并具有同一列的两个以上的表的行 , 结果集中不包含一个表与另一个表不匹配的行


外连接 :    两个表在连接过程中除了返回满足连接条件的行以外 还返回左(或右)表中不满足条件的


               行,这种连接称为左(或右)外连接 。没有匹配的行时 , 结果表中相应的列为空 (NULL) 。


如果是左外连接,则连接条件中左边的表也称为 主表 ,右边的表称为 从表。


如果是右外连接,则连接条件中右边的表也称为 主表 ,左边的表称为 从表。


mysql查询不包含中文的字段 mysql不包含语句_数据库_14


SQL99:使用 join ... on ...

mysql查询不包含中文的字段 mysql不包含语句_mysql_15

 

 内连接inner join【inner可以省略】

 外链接:outer join

左外连接 left join

右外连接 right join

mysql查询不包含中文的字段 mysql不包含语句_数据库_16

 

union 的使用

    

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_17


注意:执行UNION ALL语句时所需要的资源比UNION语句少。如果明确知道合并数据后的结果数据 不存在重复数据,或者不需要去除重复的数据,则尽量使用UNION ALL语句,以提高数据查询的效 率。

 

mysql查询不包含中文的字段 mysql不包含语句_mysql_18

 

mysql查询不包含中文的字段 mysql不包含语句_mysql_19

 SQL99新特性

mysql查询不包含中文的字段 mysql不包含语句_mysql_20

 

mysql查询不包含中文的字段 mysql不包含语句_mysql_21

mysql查询不包含中文的字段 mysql不包含语句_子查询_22

 

mysql查询不包含中文的字段 mysql不包含语句_mysql_23

单行函数

  

 

mysql查询不包含中文的字段 mysql不包含语句_子查询_24

 数值函数

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_25

 指数与对数

mysql查询不包含中文的字段 mysql不包含语句_mysql_26

 字符串函数

mysql查询不包含中文的字段 mysql不包含语句_sql_27

 日期函数

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_28

mysql查询不包含中文的字段 mysql不包含语句_数据库_29

 

mysql查询不包含中文的字段 mysql不包含语句_mysql_30

 

mysql查询不包含中文的字段 mysql不包含语句_子查询_31

mysql查询不包含中文的字段 mysql不包含语句_mysql_32

 加密函数

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_33

 MySQL信息函数

mysql查询不包含中文的字段 mysql不包含语句_mysql_34

 聚合函数

mysql查询不包含中文的字段 mysql不包含语句_子查询_35

count

mysql查询不包含中文的字段 mysql不包含语句_mysql_36

 group by:

mysql查询不包含中文的字段 mysql不包含语句_子查询_37

 having:

mysql查询不包含中文的字段 mysql不包含语句_mysql_38

 

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_39

 子查询

mysql查询不包含中文的字段 mysql不包含语句_数据库_40

 

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_41

                       单行子查询  vs 多行子查询

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_42

                             关联子查询   VS  不关联子查询

mysql查询不包含中文的字段 mysql不包含语句_子查询_43

 单行子查询

where中子查询

mysql查询不包含中文的字段 mysql不包含语句_mysql_44

having中子查询 

mysql查询不包含中文的字段 mysql不包含语句_数据库_45

 case中子查询

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_46

 多行子查询

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_47

 相关子查询

mysql查询不包含中文的字段 mysql不包含语句_mysql查询不包含中文的字段_48

 

mysql查询不包含中文的字段 mysql不包含语句_sql_49

 from中的子查询

mysql查询不包含中文的字段 mysql不包含语句_子查询_50


from型的子查询:子查询是作为from的一部分,子查询要用()引起来,并且要给这个子查询取别


名, 把它当成一张“临时的虚拟的表”来使用。


order by中子查询

mysql查询不包含中文的字段 mysql不包含语句_数据库_51

EXISTS 与 NOT EXISTS关键字

mysql查询不包含中文的字段 mysql不包含语句_数据库_52