mysql查询

基础查询:

  select * from 表名 ;

 

基础条件查询:

  select * from 表名  where  条件;

  

模糊查询:

    select * from 表名  where  name   like    ' %装置% ' ;       查询所有  name  中包含 “装置”的信息;

    select * from 表名  where  name    like    ' 装置 % ' ;     查询所有  name 中 以装置开头的信息;

    select * from 表名  where  name    like    ' %装置  ' ;     查询所有  name  中 以装置结尾的信息;

    select * from 表名  where  name    like    ' %装%置 % ' ;    查询所有  name  中 包含有  “装” (在前) 和 “置” (在后) 顺序名字的信息;例如:“开关装置 ”,但是不能查出  “置装开关”;

    select * from 表名  where  name    like    ' _置_  ' ;        查询所有  name  中 所有name 为三个字且中间为“置”的信息;  “_” 代表单个任意字符;

    查不出来暂先注释,后续查找原因后再说#select * from 表名  where  name    like    '[装灯]  ' ;       查询所有  name  中 包含 “装” 或 包含 “灯” 的信息;例如:“装置”  “灯开关”;

  

排序查询:

    select * from 表名  where    name   =   ‘装置’   order by  id   asc;       查询所有name等于装置 的信息并 根据 id 以 顺序 排列;

    select * from 表名  where    name   =   ‘装置’   order by  id   desc;       查询所有name等于装置 的信息并 根据 id 以 逆序 排列;

 

分组查询和聚合函数见:  

  聚合函数查询:  https://www.cnblogs.com/ncwoniu/p/11589200.html

 

分页查询:

    select * from t_student where st_name like '%张%'  order by st_id  limit 0 ,10;    查询name中含“张”的信息,id排序后显示第1条开始的10 条数据;分页查询要先排序

 

内连接:

  select  *  from 表1   join  表2  on 表1.id = 表2.id ;  查询符合 on 后条件的 表1和表2 中数据的交集 ;

 

外连接:

  左连接:

    select  *  from 表1  left  join  表2  on 表1.id = 表2.id ;  查询符合 on 后条件的 表1和表2 中数据的交集  加 左边表1 剩余的数据;

  右连接:

    select  *  from 表1  right  join  表2  on 表1.id = 表2.id ;  查询符合 on 后条件的 表1和表2 中数据的交集  加 右边表2 剩余的数据;

 

多表连接:

  select  表1.id ,  表1.name  ,表2.name  from  表1 ,表2  where   表1.id = 表2 .id;

联合查询 

  SELECT * FROM t_student WHERE s_name = '张三'    将两个查询的结果放在一张表里,union第一个查询的列名等于第二个查询的列名,查询结果允许重复;union all 的查询结果不重复。
  UNION
  SELECT * FROM t_student WHERE s_name = '李四';

子查询

  无关子查询

  SELECT * from t_student WHERE s_name = (SELECT s_name from t_student WHERE s_id = '1141263770333478912');  把一个查询的结果当做另一个查询的条件

  相关子查询

 

 

多状态查询

  SELECT * from t_student WHERE s_name  in ('张三','李四');  把in后括号里面的一个值作为条件查询,把张三和李四的查询结果的值放在一起;

  SELECT * from t_student WHERE s_name not in ('张三','李四');   把除了括号里的值外的任意一个值作为查询条件,将所有的查询结果放在一个表里;

posted @ 2019-09-26 15:50  易水蜗牛  阅读(238)  评论(0编辑  收藏  举报