查询
select * from 表名;//全部
select [distinct(去掉重复的行)]列名1,列名2,……
from 表名
[where] 挑选用的条件
[group by] 分组条件
[having] 对分组后的数据进行挑选
[order by] 对结果排序:asc升序,desc降序
[limit] 显示几条记录,一个参数(几条)、两个参数(从第几条开始几条记录)
procedure 存储过程;
where
1)比较运算符:= > < >= <= <> != <=>
2)逻辑运算符:and &&or||not !
3)模式匹配:like '&'多个'_'一个
4)范围比[not] between in
between 80 and 90;
in('广州','上海','北京');
case
select 姓名,case
when 性别=1 then '男'
when 性别=0 then '女'
end as 性别,专业名
from xs;
聚合函数
count(*):统计记录的条数*
count(字段名):统计字段中有值的记录个数。(不考虑null)*
count(distinct 字段名): 去掉重复值后在计算有值的个数*
max(字段名):计算某一列最大值
min(字段名):计算某一列最小值
sum(字段名):求和
avg(字段名):求平均值
高级查询
第一种方式、
select 列名1,列名2……
from 多个表名
where (等值连接 两两连接);
第二种方式、
select 列名1,列名2……
from 表名1 [left,right outer]inner join 表名 on 条件……;
自表连接:把一个表当两个表用
子查询
不相关子查询:内层查询是外层查询的条件,内层查询执行一次。
相关子查询:
exists 子查询:首先外层查询取出一条记录,带入内层查询,看内层查询是否有结果,如果有就返回
true,相当与外层查询的条件为true,取出的记录就放到结果集中。
然后,取出下一条记录,重复上面的过程。
select * from 表名;//全部
select [distinct(去掉重复的行)]列名1,列名2,……
from 表名
[where] 挑选用的条件
[group by] 分组条件
[having] 对分组后的数据进行挑选
[order by] 对结果排序:asc升序,desc降序
[limit] 显示几条记录,一个参数(几条)、两个参数(从第几条开始几条记录)
procedure 存储过程;
where
1)比较运算符:= > < >= <= <> != <=>
2)逻辑运算符:and &&or||not !
3)模式匹配:like '&'多个'_'一个
4)范围比[not] between in
between 80 and 90;
in('广州','上海','北京');
case
select 姓名,case
when 性别=1 then '男'
when 性别=0 then '女'
end as 性别,专业名
from xs;
聚合函数
count(*):统计记录的条数*
count(字段名):统计字段中有值的记录个数。(不考虑null)*
count(distinct 字段名): 去掉重复值后在计算有值的个数*
max(字段名):计算某一列最大值
min(字段名):计算某一列最小值
sum(字段名):求和
avg(字段名):求平均值
高级查询
第一种方式、
select 列名1,列名2……
from 多个表名
where (等值连接 两两连接);
第二种方式、
select 列名1,列名2……
from 表名1 [left,right outer]inner join 表名 on 条件……;
自表连接:把一个表当两个表用
子查询
不相关子查询:内层查询是外层查询的条件,内层查询执行一次。
相关子查询:
exists 子查询:首先外层查询取出一条记录,带入内层查询,看内层查询是否有结果,如果有就返回
true,相当与外层查询的条件为true,取出的记录就放到结果集中。
然后,取出下一条记录,重复上面的过程。