From 0 To 1:SQL And Databases — Heavy Lifting by Loony Corn
Introduction to SQL by Jon Flanders
我强烈推荐后者。
# 第一种写SQL的方式
SELECT e.emp_id, e.emp_name, d.dept_name, p.project_name from Employee e INNERJOIN Department d ON e.dept_id = d.dept_id INNERJOIN 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_namefrom Employee eINNER JOIN Department d ON e.dept_id = d.dept_idINNER JOIN Projects p ON e.project_id = p.project_idWhere 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_namefrom Employee einner join Department d on e.dept_id = d.dept_idwhere 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_namefrom Employee einnerjoin Department d on e.dept_id = d.dept_idwhere d.dept_name = 'finance'-- and e.emp_name like '%A%';add e.salary > 5000