数据查询
一、连接查询
1、all、tistinct
all 允许出现重复行 默认不写就是all
tistinct 消除重复行
2、from子句 指定数据的来源
3、where子句
①比较运算符: > >= < <= =(等于) <>(不等于) ==(等于,mysql扩展),!=(不等于,mysql扩展)
逻辑运算符: and(与) or(或) not(非)
②between语法: XX between 值1 and 值2;
③in语法: Xx = 1 or xx = 2 or xx =3...
XX in (值1,值2,.......);
④ike语法(模糊查找): 语法形式: XX like ‘要查找字符’;
字符:% 其含义是:代表任意个数的任意字符 _ 其含义是:代表1个的任意字符
4、group by分组子句
分组就是将数据以某个字段的值为“依据”,分到不同的“组别”里。 这几个可能的值:组内成员的个数,组内某些字段的最大值,最小值,平均值,总和值。
其他字段,通常就不能用了。
形式: group by 字段1 排序方式1,字段2 排序方式2, .....
在分组查询中,有以下几个函数:
count(*): 统计一组中的数量,通常用“*”做参数。
max(字段名):获取该字段中在该组中的最大值。
min(字段名):获取该字段中在该组中的最小值。
sum(字段名):获取该字段中在该组中的总和。
avg(字段名):获取该字段中在该组中的平均值。
group_concat(字段名):获取该分组内的这个字段所有信息,每条逗号分隔。
5、having子句
having子句其实和where一样,用来作条件判断的。
where对表的字段的值进行判断
having对group by之后的 组 数据进行判断
6、order by子句
形式: order by 排序字段1 [排序方式], 排序字段2 [排序方式], .....
说明:对前面取得的数据来指定按某个字段的大小来进行排序
排序的两种方式: 正序 asc(默认值 可以省略) 倒序 desc
7、limit子句
形式:limit [起始行号start], 要取出的行数num
起始行号的第一行行号为0 ,默认行号0(可以省略)
二、连接查询
连接就是将两个或两个以上的表连接起来成为一个"数据源"
形式: from 表1 [连接方式] join 表2 [on 连接条件];
三、子查询
子查询就是将查询结果当条件
形式:selelct 字段或表达式或(子查询1) [as 别名] from 表名或(子查询2) where 字段或表达式或(子查询3) 的条件判断
四、联合查询
联合查询就是将两个select语句的查询结果“层叠”到一起成为一个“大结果”。
联合查询的关键字:union
连接查询的关键字: join