Mysql 关键字的优先级 分组 多表联查

查看模式

select @@global.sql_mode;

关键字的优先级

  1. from 来自
  2. where 条件
  3. group by 分组
  4. having 筛选
  5. select 查询
  6. distinct 去重
  7. order by 排序
  8. limit 限制条数

表单查询语法

select  字段,字段  from  表名  where  条件  group by  分组  having  筛选  order by 排序  limit 限制
where
  • 比较运算 > < >= <= <> !=

  • 值在 80-100 之间 包含 80 100

    between  80 and 100;
  • 值 是 80,90,100 的

    in(80,90,100)   
    相反的
    not in(80,90,100)
  • 模糊查询

    like '张%'    % 通配符  包含一个或多个  //  查询姓张的人
    like  '程咬_'  _ 包含一个字符
group by 分组
  • 经过分组之后只能查看当前字段,如果想查看组内信息需要借助于聚合函数

  • 聚合函数

    max()  求最大值
    min()  求最小值
    avg()  求平均值
    sum()  求和
    count()  求总个数
  • 拼接分组后的内容

    group_concat(name)

having 筛选
  • 用在 group by 之后
order by 排序
order by age ASC;  默认升序
order by age desc;  降序排列
limit
  • 限制查询次数

    limit  0, 5 ;  0 表示起始索引  5 表示显示条数 

多表查询

  • 交叉连接

    select * from table_1,table_2;  生成笛卡尔积
  • 内连接

    只获取匹配的数据
    select 表名.列名, 表名.列名 from 表1 inner join 表2 on 条件(表1.列 = 表2.列);
  • 左连接

    只显示左表所有的记录
    select 表名.列名, 表名.列名 from 表1 left join 表2 on 条件(表1.列 = 表2.列);
  • 右链接

    只显示 右 表所有的记录
    select 表名.列名, 表名.列名 from 表1 right join 表2 on 条件(表1.列 = 表2.列);
  • 全外连接

    左连接 union  右链接

子查询

in  ; not in ; any ; all; exists; not exists;  

转载于:https://www.cnblogs.com/zhang-zi-yi/p/10749256.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值