查询 select
1.语法:
select * from 表名; //查询全部
select 列名,列名,... from 表名;
2.起别名
语法:列名 AS 别名;
3.条件查询
select 列名 from 表名 where 条件
逻辑运算:
AND 与;
OR 或;
NOT 非
4.范围查询:
BETWEEN ... AND ... 在两个值之间(包含边界)
IN(set,set,...) 等于 值列表中的一个
5.模糊查询:LIKE
% 代表零个或多个字符(任意个字符)。
_ 代表一个字符
6.分页查询:limit
limit [offset] size;
offset代表的是起始的条目索引,默认从0开始
size代表的是显示的条目数
公式:limit (当前页码-1) * 每页数量 , 每页数量;
7.排序 ORDER BY
ASC 升序 DESC 降序
8.聚合函数
sum 求和;avg 平均值;max 最大值;min 最小值;count 计算个数
9.子查询
select 列名 from 表 子查询
将子查询结果充当一张表,要求必须起别名
10.SQL关联关系
一对一;一对多;多对多;
主键 PRIMARY KEY,该字段的值不可重复并且非空 unique+not null
外键 FOREIGN KEY,该字段的值引用了另外的表的字段
外键语法:FK_引用表\_连接表
11.连表查询
分类:
内连接;
外连接:左外连接;右外连接
11.1.内连接语法:
select 查询列表
from 表1 ,表2
where 表1.key=表2.key
内连接主表:逗号后面的表
11.2.外连接语法:
select 查询列表
from 表1 left join 表2
on 表1.key=表2.key
外连接概述:
外连接,主表的数据都会显示,不论从表有没有对应的数据。
左外连接,左边的表数据都会显示。
右外连接,右边的表数据都会显示。
left join 左边的就是主表,right join 右边的就是主表
SQL优化语法:
1.不要对数据库进行判空(判断空值);
2.比较运算会导致数据库效率降低,可能会导致索引失效;
3.通常不允许使用左模糊,使用左模糊会导致索引失效;
4.内连接查询时,数据字典表 做主表(逗号后面的表);
5.尽量不用or。