查询指定字段 select 字段1,字段2 from 表名;
消除重复行(重复指的是结果集中的所有完全重复行) select distinct 字段1,字段2... from 表名
比较运算符(< > != = ) select * from 表名 where id>4
逻辑运算符(and or not in) select * from 表名 where id>4(条件1) and gender=1(条件2);
模糊查询(like %任意多个字符 _任意一个字符) select * from 表名 where name like '马%';
范围查询(in between...and...) select * from 表名 where id in(1,2,3); 查询id是1,2,3的行(非连续)
select * from 表名 where id between 1 and 5;(查询id 1到5 的行,连续)
判空(is null) (非空 is not null) select * from 表名 where 条件 is null;
优先级 (小括号,not,比较运算符,逻辑运算符(and比or先运算))
聚合函数
(count:求总行数) select count(*) from 表名 where...
(max,min:最大值最小值) select max(id) from 表名 where...
(sum,avg:求和求平均值) select sum(id) from 表名 where...
分组(group by) select gender count(*) from 表名 group by gender;(按性别分组并分别统计总数)
对分组结果进行筛选 (having) select gender count(*) from 表名 group by gender having gender=0;
where 是对 from 后的原始表进行数据筛选,having 是对group by 的结果进行筛选.
排序(order by默认升序asc降序desc) select * from 表名 where 条件 order by id desc;
分页(limit) select * from 表名 where 条件 limit 从第几条数据开始,获取多少条数据
完整select语句关键字顺序:
select distinct *
from 表名 inner(left,right) join 表名 on 关系
where ...
group by ...
order by ...
limit start,count
外键约束 创建表的时候 最后添加 foreign key(约束字段) references 表名(字段名)
新建外键 alter table 表名 add constraint 外键名 foreign key(字段) references 外键表名(字段)
内连接查询(inner join 连接表名 on 表名.字段=连接表名.字段) ps:两张表必须要有一种关系
左连接(left join 以左表为准,左表数据全部显示) 右连接同理(right join)