增删改查
查询
select * from 表名
插入
insert into 表名 values (字段名,'字段值')
更改
update 表名 set 字段名=字段值 where
删除
delete from 表名 where
多表连接
inner join 属于内连接
内连接是两个表的相关字段满足连接条件,就从两个表中提取数据并组合成新的记录;
自连接是一种特殊的内连接,相互连接的表在物理上为同一张表,但可以在逻辑上氛围两张表
left/right join 属于外连接
只限制一张表中的数据必须满足连接条件,而另一张表中的数据可以不满足连接条件的连接方式
select * from 表名1 join 表名2 on 表1外键=表2外键
内连接
select * from 表名1 inner join 表名2 on 表1外键=表2外键
自连接
select * from 表名1 as a inner join 表名1 as b on a外键=b外键
左连接
select * from 表名1 left join 表名2 on 表1外键=表2外键
右连接
select * from 表名1 right join 表名2 on 表1外键=表2外键
group by +having搭配使用
group by将数据进行分组,搭配聚合函数使用;
having在group by后面使用,对于分组后的数据进行过滤,基于聚合函数的结果;
where是对分组前对原始数据进行过滤
分组 group by
SELECT date, SUM(amount) AS total_sales
FROM sales
GROUP BY YEAR(date), MONTH(date);
过滤 having
SELECT date, SUM(amount) AS total_sales
FROM sales
GROUP BY YEAR(date), MONTH(date)
HAVING SUM(amount) > 100000;
order by
asc,升序;默认升序
desc,降序
排序order by
SELECT * FROM employees ORDER BY department ASC, salary DESC;