MYSQL笔记20201222


1、如何判断数据库中null的数据?

(1)= 或 <> 不能用于判断null值
(2)is null 或 is not null 可以判断 null


2、<=> : 安全 等于

(1)既可以判断 NULL值,也可以判断普通的数据
(2)可读性比较差
(3)对比学习:
      ①is null 或者 =


3、运算符优先级

(1)() 优先级最高
(2)从高到低顺序
      ①算术运算符
      ②比较运算符
      ③特殊比较运算符
                  1)Between and、in、like、is null 等
      ④逻辑运算符
                  1)NOT
                  2)AND
                  3)OR


4、排序查询:order by

(1)语法:
Select 查询列表            ③
From 表名                  ①
【Where 筛选条件】      ②
Order by 排序列表 【asc|desc】 ④
(2)特点:
                ①asc:升序(默认) desc:降序
                 ②Order by 后面的排序列表,可以是单个字段 或 多个字段 或 别名                       或 表达式 或 函数


5、函数:

(1)类似于 java 方法
(2)好处:
        ①提高代码的重用性
        ②隐藏实现细节
(3)分类:
        ①单行函数
        ②分组函数(聚合函数)


6、单行函数

(1)IFNULL
(2)单行函数:=》字符
        ①length
        ②concat
        ③upper/lower
        ④substr
        ⑤replace
        ⑥lpad/rpad
        ⑦Instr
        ⑧trim
(3)数学函数
        ①round :四舍五入
        ②Ceil: 向上取整
        ③Floor:向下取整
        ④Mod: 取余
        ⑤Truncate:截断
(4)日期函数:
        ①Now:返回当前的系统日期+时间
        ②Curdate:返回当前的日期
        ③Curtime:返回当前时间
        ④获取指定的 年、月、日、时、分、秒
                1)Year
                2)Month
                3)等
        ⑤Str_to_date: 将字符串 转化 为 日期类型
        ⑥Date_format: 将日期转换为字符串


7、分组函数:

(1)主要分类
        ①Sum :求和
        ②Avg:求平均值
        ③Max:最大值
        ④Min:最小值
        ⑤Count:统计个数
(2)特点:
        ①Sum、avg 一般处理数值型
        ②Max、min、count 可以处理任何类型
        ③分组函数 都会忽略null
(3)统计个数的区分
        ①MYISAM存储引擎下,count() 效率比较高
        ②INNODB存储引擎下,count(1)和count(
) 效率几乎相同,
            比count(字段)效率高一些


8、分组查询

(1)语法:
select 分组函数,列
from 表
【where 筛选条件】
group by 分组的列表
【having 分组的筛选条件】
【order by 子句】
(2)注意:
      ①查询列表中,要求是分组函数和group by 后面出现的字段
(3)分组核心关键字
      ①group by
            1)按照某个字段或某些字段进行分组
      ②having
            1)对分组之后的数据进行再次的条件筛选
(4)特点:
在这里插入图片描述


9、连接查询

(1)连接查询可以理解为 多表查询

(2)例如:查看每个员工对应的部门名称及工资等级

(3)连接查询是在多个表之间通过一定的连接条件,使表之间发生关联,进而能从多个表中获取数据。

(4)多表查询的语法(92版)
Select 查询列表
From 表1,表2,…
Where 表关联条件 与 筛选条件

(5)多表查询的语法(99版)
select 查询列表
From 表1 join 表2
on 表的关联条件
where 筛选条件

(6)连接查询的分类
      ①年份进行划分
            1)SQL92
                  a.比较老的语法
            2)SQL99
                  a.比较新的语法
      ②根据表的连接方式进行划分:
            1)内连接 INNER JOIN
                  a.等值连接
                        a)使用 =
                  b.非等值连接
                        a)in、between.and、not in、is null 等
                  c.自连接
                        a)自己连接自己
            2)外连接 OUTER JOIN
                  a.左外连接(左连接)
                  b.右外连接(右连接)
            3)全连接—
(7)笛卡尔积现象
      ①现象:表1,有m行,表2有n行,结果 m*n行
      ②出现的原因:没有设置其连接条件
      ③如何避免:设置其连接条件
(8)内连接==》等值连接
      ① 使用等号 设置的条件
(9)内连接==》非等值连接
      ①使用 in、between.and、not null、is null 等
(10)内连接==》自连接
      ①自己连接自己


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值