如何通过10个条件进行精确的数据库查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计460个文字,预计阅读时间需要2分钟。
1. 简化SQL查询语句:`SELECT * FROM dept, emp` 的结果为两张表的笛卡尔积。若左侧表有m条记录,右侧表有n条记录,则查询结果将有m*n条记录。但结果中可能包含大量重复项。
1.笛卡尔积查询select*fromdept,emp--此条语句的结果是两张表相乘的结果。如果左边表有m条记录,右边表有n条记录,则查询出m*n条记录。但这样的结果中往往包含大量
1.笛卡尔积查询
select * from dept,emp -- 此条语句的结果是两张表相乘的结果。如果左边表有m条记录,右边表有n条记录,则查询出m*n条记录。但这样的结果中往往包含大量错误数据,一般不使用
可这样修改
2. 内连接查询: 查询出左边表有且右边表也有的记录
● select * from dept,emp where dept.id = emp.dept_id;
● select * from dept inner join emp on dept.id = emp.dept_id;
3.外连接查询
左外连接查询 :在内连接的基础上增加上左边表有而右边表没有的记录
● select * from dept left join emp on dept.id = emp.dept_id;
右外连接查询 :在内连接的基础上增加上右边表有而左边表没有的记录
● select * from dept right join emp on dept.id = emp.dept_id;
全外连接查询: 但mysql 不支持这样的语法
● select * from dept full join emp on dept.id = emp.dept_id;
可先查左外,再查右外。然后合并
● select * from dept left join emp on dept.id = emp.dept_id
union
select * from dept right join emp on dept.id = emp.dept_id;
查询4号部门的名称和其中员工的姓名
本文共计460个文字,预计阅读时间需要2分钟。
1. 简化SQL查询语句:`SELECT * FROM dept, emp` 的结果为两张表的笛卡尔积。若左侧表有m条记录,右侧表有n条记录,则查询结果将有m*n条记录。但结果中可能包含大量重复项。
1.笛卡尔积查询select*fromdept,emp--此条语句的结果是两张表相乘的结果。如果左边表有m条记录,右边表有n条记录,则查询出m*n条记录。但这样的结果中往往包含大量
1.笛卡尔积查询
select * from dept,emp -- 此条语句的结果是两张表相乘的结果。如果左边表有m条记录,右边表有n条记录,则查询出m*n条记录。但这样的结果中往往包含大量错误数据,一般不使用
可这样修改
2. 内连接查询: 查询出左边表有且右边表也有的记录
● select * from dept,emp where dept.id = emp.dept_id;
● select * from dept inner join emp on dept.id = emp.dept_id;
3.外连接查询
左外连接查询 :在内连接的基础上增加上左边表有而右边表没有的记录
● select * from dept left join emp on dept.id = emp.dept_id;
右外连接查询 :在内连接的基础上增加上右边表有而左边表没有的记录
● select * from dept right join emp on dept.id = emp.dept_id;
全外连接查询: 但mysql 不支持这样的语法
● select * from dept full join emp on dept.id = emp.dept_id;
可先查左外,再查右外。然后合并
● select * from dept left join emp on dept.id = emp.dept_id
union
select * from dept right join emp on dept.id = emp.dept_id;
查询4号部门的名称和其中员工的姓名

