表数据操作 - 查询数据,查看表内所有数据 * 表示所有
select * from 表名;
表数据操作 - 查询数据,查看表内指定字段
select 字段名, 字段名, ... from 表名;
表数据操作 - 查询数据,根据判断条件查看表内指定字段
select 字段名, 字段名, ... from 表名 where 判断条件(字段名 > n);
select 字段名, 字段名, ... from 表名 where 判断条件(字段名 > n) and 判断条件(字段名 > n) ;
表数据操作 - 高级查询数据 - 长度数量 count(*)
select count(*) as 数量 from 表名;
select 字段名, count(*) as 数量 from 表名;
表数据操作 - 高级查询数据 - 常用计算 count(*) avg() max() min() sum()
select count(*) as 数量, avg(字段名) as 平均值, max(字段名) as 最大值, min(字段名) as 最小值, sum(字段名) as 总和 from 表名;
表数据操作 - 高级查询数据 - 别名 as 或者 字段名后面直接空格写别名也可以,推荐写 as
select 字段名 别名, 字段名 别名, ... from 表名;
select 字段名 as 别名, 字段名 as 别名, ... from 表名;
select 字段名 as 别名, 字段名 as 别名, ... from 表名 where 判断条件(别名 > n);
表数据操作 - 高级查询数据 - 剔除查询结果中的重复数据
select distinct 字段名,字段名 from 表名;
表数据操作 - 高级查询数据 - 条件运算符
select 字段名,字段名 from 表名 where 字段名 > 条件 and 字段名 != 条件;
select 字段名,字段名 from 表名 where 字段名 <= 条件 or 字段名 = 条件;
......
表数据操作 - 高级查询数据 - 模糊查询 like
select 字段名,字段名 from 表名 where 字段名 like '%匹配字符%';
select 字段名,字段名 from 表名 where 字段名 like '%匹配字符';
select 字段名,字段名 from 表名 where 字段名 like '匹配字符%';
select 字段名,字段名 from 表名 where 字段名 like '_匹配字符_';
select 字段名,字段名 from 表名 where 字段名 like '_匹配字符';
select 字段名,字段名 from 表名 where 字段名 like '__匹配字符';
select 字段名,字段名 from 表名 where 字段名 like '匹配字符_';
select 字段名,字段名 from 表名 where 字段名 like '匹配字符__';
select * from 表名 where 字段名 like '_匹配字符%';
表数据操作 - 高级查询数据 - 范围查询 between
select * from 表名 where 字段名 between 范围值 and 范围值;
其实就相当于:
select * from 表名 where 字段名 >= 范围值 and 字段名 <= 范围值;
表数据操作 - 高级查询数据 - 范围查询 in
select * from 表名 where 字段名 in (指定值, 指定值, 指定值);
其实就相当于:
select * from 表名 where 字段名='指定值' or 字段名='指定值' or ...;
表数据操作 - 高级查询数据 - 范围查询 is
select * from 表名 where 字段名 is null;
select * from 表名 where 字段名 is not null;
null 与 not null 只能用 is 来修饰,不能写成:
select * from 表名 where 字段名 = null;
select * from 表名 where 字段名 = not null;
表数据操作 - 高级查询数据 - 分组 group by
select * from 表名 group by 字段名;
select * from 表名 group by 字段名, 字段名;
select count(*) as 数量 from 表名 group by 字段名;
表数据操作 - 高级查询数据 - 分组 group by 之后带条件语句 having
select * from 表名 group by 字段名 having 字段名 > 判断条件;
表数据操作 - 高级查询数据 - 排序 order by
select * from 表名 order by 字段名 (asc || desc, 不写默认 asc);
select * from 表名 order by 字段名 (asc || desc), 字段名 (asc || desc) ...;
select * from 表名 group by 字段名 group by 字段名 (asc || desc);
表数据操作 - 高级查询数据 - 分页 limit
select * from 表名 limit 页码,每页条数;
select * from 表名 order by 字段名 (asc || desc) limit 页码,每页条数;
表数据操作 - 高级查询数据 - 联合查询 union
select * from test
union (all 或 distinct(默认))
select * from user
union (all 或 distinct(默认))
select ......
order by 字段 (asc || desc)
limit 页码,每页条数;
表数据操作 - 高级查询数据 - 连接查询 join
select * from 表名 [连接方式] join 表名 [on 连接条件] where ...;
表数据操作 - 高级查询数据 - 交叉连接 cross join
select * from 表名, 表名;
select * from 表名 join 表名;
select * from 表名 cross join 表名;
表数据操作 - 高级查询数据 - 内连接 inner join
select * from 表名 join 表名 on 连接条件 where ...;
select * from 表名 inner join 表名 on 连接条件 where ...;
表数据操作 - 高级查询数据 - 左外连接 left join
select * from 表名 left [outer] join on 连接条件 where ...;
表数据操作 - 高级查询数据 - 右外连接 right join
select * from 表名 right [outer] join on 连接条件 where ...;
表数据操作 - 高级查询数据 - 自连接
select * from 表名1 as a [连接形式] join 表名1 as b on a.字段名 = b.字段名;
表数据操作 - 高级查询数据 - 子查询
select * from 表名 where 字段名 > (一个子查询语句);
select * from 表名 where 字段名 > (select avg(字段名) from 表名);
表数据操作 - 高级查询数据 - 子查询 in关键字
select * from 表名 where 字段名 = in(select 字段名 from 表名);
select * from 表名 where 字段名 = in(一个子查询语句);
结果相当于:
select * from 表名 where 字段名 in (值1, 值2, 值3, ...);
表数据操作 - 高级查询数据 - 子查询 any关键字 (some 关键字与 any关键字使用功能都一样)
select * from 表名 where 字段名 = any(select 字段名 from 表名);
select * from 表名 where 字段名 = any(必须为子查询语句);
结果相当于:
select * from 表名 where 字段名=值1 or 字段名=值2 or 字段名=值3 or ...;
表数据操作 - 高级查询数据 - 子查询 all关键字
select * from 表名 where 字段名 = all(select 字段名 from 表名);
select * from 表名 where 字段名 = all(必须为子查询语句);
结果相当于:
select * from 表名 where 字段名=值1 and 字段名=值2 and 字段名=值3 and ...;
表数据操作 - 高级查询数据 - 子查询 exists关键字
select * from 表名 where exists(任何子查询);
select * from 商品信息表 where exists (select * from 商品类型表 like '%电%' and 商品信息表.商品类型ID = 商品类型表.商品类型ID)