查询 select

查询 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。

猜你喜欢

转载自blog.csdn.net/muhaokai/article/details/115321962