#四、sql99语法
#内连接
/*
语法:
select 查询列表
from 表1 别名
inner join 表2 别名 on 连接条件
where 筛选条件
group by 分组列表
having 分组后的筛选
order by 排序列表
limit 子句
特点:
(1)表的顺序可以调换
(2)内连接的结果=多表的交集
(3)n表连接至少需要n-1个连接条件
分类:
等值连接
非等值连接
自连接
/
/
语法:
select 查询列表
from 表1 别名
left|right 【outer】 join 表2 别名 on 连接条件
where 筛选条件
group by 分组列表
having 分组后的筛选
order by 排序列表
limit 子句
特点:
(1)查询的结果=主表中所有的行,其中从表和他匹配的将显示行,如果从表没有匹配的则显示null
(2)left join 左边的就是主表,right join右边的就是主表
full join两边都是主表
(3)一般用于查询除了交集部分的剩余的不匹配的行
/
/
交叉连接
select 查询列表
from 表:别名
cross join 表2 别名:
特点:
类似于笛卡尔乘积
*/
子查询



#案例1:查询最低工资的员工姓名和工资(标量子查询)
#(1)查询最低工资
SELECT MIN(`salary`)
FROM `employees`;
#(2)查询满足条件(1)的员工姓名和工资
SELECT `last_name`,`salary`
FROM `employees`
WHERE `salary`=(
SELECT MIN(`salary`)
FROM `employees`
);
#案例2:查询所有是领导的员工的姓名(列子查询)
#(1)查询所有员工的manager_id
SELECT `manager_id`
FROM `employees`;
#查询满足条件(1)的是领导的员工的姓名
SELECT `last_name`
FROM `employees`
WHERE `employee_id`
IN(
SELECT `manager_id`
FROM `employees`
);
分页查询

1万+

被折叠的 条评论
为什么被折叠?



