1.连接查询(多表查询)
连接查询:如需要多张数据表的数据进行调查,则可通过连接运算符实现多个查询
分类:内连接(inner join):等值的非等值的连接查询
自身连接查询
外连接(out join):左连接(left join)、右连接(right join)
2.内连接查询:等值和非等值的连接查询
与单表查询类似,都是select语句
把多个表放在from后,并用逗号隔开
可使用as关键字取别名,便于引用
如无重名查询字段,则可省略数据表的指定
3.外连接:
左连接:从左表(table_1)中返回所有的记录,即便在右(table_2)中没有匹配的行
select 字段1……from table_1
left [outer] join table_2 on table_1.字段x=table_2.字段y;
右连接:从右表(table_2)中返回所有的记录,即便在左(table_1)中没有匹配的行
select 字段1……from table_1
right [outer] join table_2 on table_1.字段x=table_2.字段y;
4.不同的SQL join对比
操作符名称 描述
inner join(join) 如果表中有至少一个匹配,则返回行
left join 即使右表中没有匹配,也从左表中返回所有的行
right join 即使左表中没有匹配,也从右表中返回所有的行
5.自连接查询
用desc(降序)或asc(升序)搭配使用,默认为ASC升序
7.子查询:在查询语句中的where条件子句中,又嵌套了另外一个查询语句
注:嵌套查询可由多个子查询组成,求解的方式是由里及外
子查询返回的结果一般都是集合,故而建议使用IN关键字
8.等值连接:两个表中都有的内容
左连接以左边的表为准
右连接以右边的表为准
9.group by 分组(只能与聚合函数一起使用)
对所有的数据进行分组统计
分组的依据字段可以有多个,并依次分组
与having结合使用,进行分组后的数据筛选
连接查询:如需要多张数据表的数据进行调查,则可通过连接运算符实现多个查询
分类:内连接(inner join):等值的非等值的连接查询
自身连接查询
外连接(out join):左连接(left join)、右连接(right join)
2.内连接查询:等值和非等值的连接查询
与单表查询类似,都是select语句
把多个表放在from后,并用逗号隔开
可使用as关键字取别名,便于引用
如无重名查询字段,则可省略数据表的指定
3.外连接:
左连接:从左表(table_1)中返回所有的记录,即便在右(table_2)中没有匹配的行
select 字段1……from table_1
left [outer] join table_2 on table_1.字段x=table_2.字段y;
右连接:从右表(table_2)中返回所有的记录,即便在左(table_1)中没有匹配的行
select 字段1……from table_1
right [outer] join table_2 on table_1.字段x=table_2.字段y;
4.不同的SQL join对比
操作符名称 描述
inner join(join) 如果表中有至少一个匹配,则返回行
left join 即使右表中没有匹配,也从左表中返回所有的行
right join 即使左表中没有匹配,也从右表中返回所有的行
5.自连接查询
自身连接查询:数据表与自身进行连接
6.order by 排序
对select语句查询得到的结果,按某些字段进行排序用desc(降序)或asc(升序)搭配使用,默认为ASC升序
7.子查询:在查询语句中的where条件子句中,又嵌套了另外一个查询语句
注:嵌套查询可由多个子查询组成,求解的方式是由里及外
子查询返回的结果一般都是集合,故而建议使用IN关键字
8.等值连接:两个表中都有的内容
左连接以左边的表为准
右连接以右边的表为准
9.group by 分组(只能与聚合函数一起使用)
对所有的数据进行分组统计
分组的依据字段可以有多个,并依次分组
与having结合使用,进行分组后的数据筛选