• Mysql高阶语句


    一、group by

    group by有个原则,凡是在group by 后面出现的字段,必须在select 后面出现

    select ‘字段1’,sum(‘字段2’) from 表名 group by ‘字段1’

    表情况如下

    二、having

    用来过滤group by 语句返回的记录集,通常与group by语句联合使用,弥补了where不能和聚合函数联合使用的不足,having的作用就是再过滤为group by 分组的表过滤

    select ‘字段1’,sum(‘字段2’) from 表名 group by ‘字段1’ having 函数条件

    三、 别名(给某个表起个别名)

     如果别名是带空格的可以用()括起来

    四、子查询

    1.in(内只返回两个表中连接字段相等的值)

     select  字段1 from 表名1 where 字段2 比较运算符   in ###外查询语句

     (select  字段1 from 表2 where 条件)                    ###内查询语句

     小实验:东部所有的的销售总额

     实验2:查询东部每个城市的销售总额

     实验3.两张表有关联地区的销售总额

     

     2.exists() 

    如果exists()没有产生结果就不会执行外面外查询

    如果exists()产生结果就会执行外面外查询语句

     3、内连接

    实验所用的两张表

    只返回两个表中连接字段相等的字段

    如果有两张表,表1和表2做内连接查询,表1是外查询表2是内查询,表1有五条数据(有两条是重复的)查询出来的表只有四条数据,因为两条重复的数据就是被内连接给合并了。

    左连接和右连接则不同,首先是不会合并两条信息(意思就是说左连接就是以左表为主表,左表如果有五条记录,无论有几条记录是重复的,都是会显示出来的,不会被合并)

    格式:select * from 表名1 inner/left/right jion 表名2 on  左表的相同字段 = 右表相同的字段 ;

     内连接第二种方式:select 字段 from 左表,右表 where 左表.字段 右表字段

     4、左连接

    格式:select * from 表名1 inner/left/right jion 表名2 on  左表的相同字段 = 右表相同的字段 ;

    (返回包括左表中的所有记录和与右表相等的行记录,以左表为主,左表有几条记录,就是以左表的这几条记录来查询)

     5、右连接

    (返回包括右表中的所有记录和右表中与左表相等的行记录,以右表为主,右表有几条记录,就是以右表的这几条记录来查询)

    格式:select * from 表名1 inner/left/right jion 表名2 on  左表的相同字段 = 右表相同的字段 ;

     小实验1:使用内连接分别查询出东部和西部的城市的销售总额

    小实验二:成绩排序

     六、视图

    视图和表格不同的是,表时实际存储数的,而视图是建立在表格之上的一个架构,它本身并不实际存储数据记录,临时表在用户退出或同数据库的连接端口后会自动消失,视图不会消失,用视图将几个表关联起来,然后对这个视图进行查询炒作,就和对一个表查询一样,很方便

    操作和对普通表操作一样

    作用:

    简化复杂的sql操作,比如复杂的联结,只使用实际表的一部分数据,通过只给用户访问视图的权限,确保数据的安全性.是图标的查询结果会随着select语句查询的实际数据的变换而变化,如果向视图表更新数据,如果定义的select语句使用的是真实存在的表格字段,是可以更新表格数据的,如果视图是两个表格联合查询出的表(通过函数或者其他方式查询出来的)是不可以插入数据的

     

    七、 UNION  和 UNION ALL

    (把两表的相同字段合并到一起)

     八、’ ‘空值和NULl值的区别

    1.无值的长度为0,不占用空间,null值是占用空间的

    2.null值是用not null 或者 is not null 来判断的

    3.空值是可以用 ='  ' 来判断是否是空值<>代表不等于

    4.在count()指定字段统计的时候会自动忽略null值 ,遇到无值会加入到记录中进行计算

  • 相关阅读:
    CUDA 学习记录
    软件测试/测试开发丨Python文件操作 学习笔记
    CFdiv2-Beautiful Mirrors-(期望)
    javaee springMVC model的使用
    阿里二面:谈谈ThreadLocal的内存泄漏问题?问麻了。。。。
    微信小程序-云开发 起步
    003-Java程序流程控制
    普冉 PY32F003 资料和入坑方法
    为数据安全产业发声 | 2022数据安全技术大会获媒体高频关注
    Nginx 限流模块:限制高并发和IP访问频率
  • 原文地址:https://blog.csdn.net/weixin_48271370/article/details/127584571