SELECT e.emp_id, e.emp_name, d.dept_name, p.project_name from Employee e INNER JOIN Department d ON e.dept_id = d.dept_id INNER JOIN Projects p ON e.project_id = p.project_id Where d.dept_name="finance" and e.emp_name like '%A%' and e.salary > 5000;
SELECT e.emp_id, e.emp_name, d.dept_name, p.project_name from Employee e INNER JOIN Department d ON e.dept_id = d.dept_id INNER JOIN Projects p ON e.project_id = p.project_id Where d.dept_name="finance" and e.emp_name like '%A%' and e.salary > 500;
改进:
1) SQL查询被划分为多行,使其更具可读性
问题
1)大小写混合
2) where子句上的所有条件位于同一行上,也就是说通过注释排除它们不是那么容易。
# 第三种书写SQL的方式,也是做好的一种
select e.emp_id, e.emp_name, d.dept_name from Employee e inner join Department d on e.dept_id = d.dept_id where d.dept_name = 'finance' and e.emp_name like '%A%' and e.salary > 500;
1)将SQL查询划分为多行可以提高可读性
2)使用适当的缩进可以很容易地找到数据源,例如表和join
3)让条件语句都放在单独的行上,可以容易的注释掉某个条件进行调试。
select e.emp_id, e.emp_name, d.dept_name from Employee e inner join Department d on e.dept_id = d.dept_id where d.dept_name = 'finance' -- and e.emp_name like '%A%'; add e.salary > 5000