4:分表查询

4.1分表查询(等值连接)

FROM employees,departments
WHERE employees.department_id=departments.department_id;

#案例3:查询员工名,工种号,工种名
#为表名起别名,简洁,一旦使用了别名,则不能使用原来的表名了。
SELECT last_name,e.job_id,job_title
FROM employees e,jobs j
WHERE e.job_id = j.job_id;

#4,可以加筛选吗?
#案例;查询有奖金的员工名,部门名
SELECT last_name,department_name
FROM employees e,departments d
WHERE e.department_id = e.department_id && e.commission_pct is not null;

#5,查询城市名中第二个字符为o的部门名和城市名
# 可以添加筛选条件的。
SELECT department_name,city
FROM departments d,locations l
WHERE d.location_id = l.location_id && l.city like '_o%';


#可以添加分组吗?

#案例1:查询每个城市的部门个数
SELECT COUNT(*) 个数,city
FROM departments d,locations l
WHERE d.location_id = l.location_id
GROUP BY city;

#案例2
#查询有奖金的每一个部门名和部门领导编号,和该部门的最低工资
SELECT d.department_name,MIN(e.salary)
FROM departments d,employees e
WHERE d.department_id = e.department_id && e.commission_pct is not NULL
GROUP BY department_name;

#案例3:查询每个工种名和员工个数,并且按照员工个数降序。
SELECT job_title,COUNT(*)
FROM employees e,jobs j
WHERE e.job_id = j.job_id
GROUP BY job_title
ORDER BY COUNT(*) DESC;

 

4.2分表查询(非等值连接)

#2,非等值查询
#案例1,查询员工的工资和工资级别
SELECT * 
FROM job_grades;

SELECT salary,grade_level
FROM employees e,job_grades g
WHERE  salary BETWEEN g.lowest_sal AND g.highest_sal;

4.3表查询(相当于多次查找本表)(自连接)

posted @ 2020-03-29 17:30  大朱123  阅读(281)  评论(0编辑  收藏  举报