mysql_数据查询

一.数据查询

select 查询列表

  数据:from 表名或视图列表

  条件:where 条件表达式】

  分组:group by 字段名

  过滤:  having 条件表达式】

  排序:order by 字段名 [ASC|DESC]

  分页:limit m,n;

select语句,可以包含5种子句:依次是where, group by,having,order by,limit必须照这个顺序

别名 AS:可以给字段取别名

去重 distinct:去除重复值

着重号 `name`:用小波浪括起来

闭区间:id between 2 and 5;

模糊查询:name like ‘张%’;

去重查询:select distinct name from ‘表’;

限制查找:limit 5; (前5个)

二. 关联查询

内连接:inner join,cross join

外连接:左外链接(left outer join),右外链接(right outer join),全外链接(full outer join)

自连接table1和table2本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义

三. 子查询

IN:等于任何一个

ALL:和子查询返回的所有值比较。例如:sal>ALL(1,2,3)等价于sal>1 && sal>2 && sal>3,即大于所有。

ANY:和子查询返回的任意一个值比较。例如:sal>ANY(1,2,3)等价于sal>1 or sal>2 or sal>3,即大于任意一个就可以。

  1. where型子查询

where型子查询即把内层sql语句查询的结果作为外层sql查询的条件.

  1. from型子查询

from型子查询即把内层sql语句查询的结果作为临时表供外层sql语句再次查询.

  1. exists型子查询

判断子查询是否有返回结果(不关心具体行数和内容),如果返回则为TRUE,否则为FALSE

原文地址:https://www.cnblogs.com/20010405ma/p/13858413.html