SQL常用命令
查询
介于:select * from users where age between 21 and 25;
包含任意一种IN:age in(21,25)
包含特定字符LIKE:name like'%山%';name like'_山%';注意:%表示0个或者多个字符,_表示一个字符。
是否为NULL:age is null;
更新
update users set status=1 where age>=30;
排序
order by age;
order by age DESC;降序排序
指定获取记录的数量
LIMIT 3,获取3条数据
指定开始获取记录的位置
OFFSET 2;获取第三行的记录。初始值0,代表第一行
select * from users LIMIT 1 OFFSET 2;获取第三行数据
计数
select count(*) from users;
select count(*) from users where age>=30;排除age中没有数据的记录
获取最大最小值
select max(age) from users;
求和、平均
select SUM(age) from users;
select AGV(age) from users;
分组+计数
select gender性别, age, COUNT(*) from users GROUP BY gender,age;
分组后查询having
select gender性别, COUNT(*) from users GROUP BY gender having COUNT(*) >=3;按性别分组并计数,查询计数大于3的性别
where 语句在分组前执行,having语句在分组后执行
内连接 INNER JOIN
仅获取与值匹配的记录
select * from users INNER JOIN items ON users.item_id = items.id;
外连接 LEFT ON, RIGHT ON
获取连接表的记录及与之匹配的被连接表的记录
select * from users LEFT JOIN items ON users.item_id = items.id;
select * from users RIGHT JOIN items ON users.item_id = items.id;