概述:
介绍:多表查询:指从多张表中查询数据
笛卡儿积:笛卡儿积是指在数学中,两个集合(A集合和B集合)的所有组合情况(在多表查询时,需要消除无效的笛卡儿积)
分类:
连接查询:
内连接:相当于查询A、B交集部分数据
外连接:左外连接:查询左表所有数据
右外连接:查询右表所有数据
子查询
内连接:
语法:
隐式内连接:select 字段列表 from 表1,表2 where条件....;
显式内连接:select 字段列表 from 表1[inner] join 表2 on 连接条件....;
示例:
左外连接:select 字段列表 from 表1 left [outer] join 表2 连接条件...;
右外连接:select 字段列表 from 表1 right [outer] join 表1 连接条件...;
示例:
子查询:
介绍;SQL语句中嵌套select语句,称为嵌套查询,又称子查询
形式:select * from t1 where column1=(select column1 from t2...);
子查询外部的语句可以是insert/update/delete/select的任何一个,最常见的是select
分类:
标量子查询:子查询返回的结果为单个值
列子查询:子查询返回的结果为一列
行子查询:子查询返回的结果为一行
表子查询:子查询返回的结果为多行多列
标量子查询:子查询返回的结果是单个值(数字,字符串,日期等),最简单的形式
常用的操作符:= <> < <= > >=
列子查询
子查询返回的结果是一列
常用的操作符:in ,not in等
行子查询:
子查询返回的结果是一行(可以是多列)
常用的操作符:= <> in not in
表子查询:
子查询返回的结果是多行多列,常作为临时表
常用的操作符:in