zoukankan      html  css  js  c++  java
  • 查询基础

    查询列表可以是:字段名,常量,表达式,函数

    查询列表使用 `符号可以避免关键字命名冲突,不用也可

    查询常量值结果为直接显示常量值

    查询表达式可以理解为进行运算

    逻辑运算符:<,>,<>,!=,<=>

    模糊查询:like关键字:_占一位,%占多位

          between and

          in

          is null

    查询函数:

    单行函数:即返回值为单行

    字符函数:

      length();返回字节数(注意utf-8为3字节,gbk为2字节)

      upper();转为大写

      lower();转为小写

      concat();拼接连个字符串

      substr();截取字符串,第一个参数为需要操作的字符串,第二个参数为开始截取的位置,第三个参数为截取长度

      instr();返回子字符串第一次出现的位置

      replace();替换字符串

      trim();去前后空格,也可去指定的字符,但是只能去前后的trim('字符' form '操作字符')

      lpad();左填充

      rpad();右填充

    数学函数:

      round();四舍五入,round(m,n)即小数点后保留n位

      ceil();向上取整

      floor();向下取整

      truncat();截断

      mod();取余

    日期函数:

      now();返回当前时间,带日期时间

      curdate();返回当前日期,不包含时间

      curtime();返回当前时间,不包含日期

      year(),month(),day(),hour,minute(),seconds()

      str_to_date();将日期格式的字符串转为指定格式的日期

      date_format();将日期转换位字符串

    其它函数:

      version();版本

      database();数据库

      user();用户

    流程控制函数:

      if(条件表达式,'值','值')

      case 条件表达式

      when  常量  then 语句;

      when  常量 then 语句

      ...

      else  语句;

      end

      case

      when  条件1   then  要显示的值或语句;

      when  条件2   then  要显示的值或语句;

      else   要显示的值或语句

      end

    分组函数总结:(聚合函数)

      avg(),sum(),count(*),max(),min()均忽略null值

      搭配distinct实现去从。sum(distinct 字段)

      group by后的字段是分组关键

    查询语句总结:

      select 查询字段

      from 表名

      where 筛选条件

      group by 分组字段

      having 分组筛选条件

      order by 排序条件

      limit (page-1)*size,size

    注意事项:

    1.有having语句必须含有group语句

    2.desc降序,asc升序

    3.筛选条件中:

      等值:=,<=>(检测空值)

      非等值:between and

      范围:in,not in

    4.limit有的话必须出现在最后,第一个参数为起始,默认为0,第二个参数为个数,即从起始位置后面的多少个

    多表查询时的连接

      内连接(inner join)

        等值连接(=)

        非等值连接(between and)

        自连接(本表和本表进行连接) 

        查询两个表的交叉部分,即交集   

      外连接

        左外 (left out join)

        右外(right out join)

        全外(full out join)   

        分为主表和从表,必须含有主表的所有数据,交叉部分按内连接处理,没有的部分设置从表为null,通常用来查询补集

      交叉连接

        cross join,笛卡尔集

    子查询通俗总结:

      可嵌套在查询字段,表名,筛选条件中

      嵌套在查询字段时:子查询结果应该为标量子查询,通俗的数就是查询结果单行单列

      嵌套在from后时:子查询结果应为一张表的形式

      嵌套在筛选条件时:子查询结果可为单行子查询也可为表的形式

      

    联合查询:Union

    将多个查询条件通过union划分为多个查询语句,最后返回一个结果集

  • 相关阅读:
    Java基础总结--常用类以及包的访问权限
    Java基础总结--多线程总结2
    关于技术太多造成选择困难/浮躁的心情应对
    Java基础总结--多线程总结1
    研究生毕业目标以及具体路线
    Java基础总结--异常处理机制
    Java基础总结--面向对象2
    【Mac系统 + Python + Django】之开发一个发布会系统【Django视图(二)】
    【Mac系统 + Python + Django】之搭建第一个【Django Demo(一)】
    【Python + ATX】之uiautomator2 PageObject模式自动化框架学习
  • 原文地址:https://www.cnblogs.com/xuhan74520/p/13881130.html
Copyright © 2011-2022 走看看