1.编写SQL语句时,不要习惯性编写select *,只返回自己想要的字段
2.连接多表时使用表的别名并在每个字段前面加上别名,这样可以减少解析时间并且由字段歧义引起的语法错误
3.减少重复的工作,例如减少数据类型转化的次数;一次update可以完成的操作,不要使用多个update
4.若语句复杂,可使用临时表或变量来分布查询;若需要多次来用到同一部分数据,可以用临时表来暂存这部分数据
什么是相关子查询?
如果子查询的条件中使用了其外层的表的字段,这种子查询就叫作相关子查询。
相关子查询可以用IN、NOT IN、EXISTS、NOT EXISTS引入。
(1)可以改用LEFT JOIN来代替NOT IN、NOT EXISTS的相关子查询 select A.name from A where p_id not in(where p_id from B where type='physic') 可以改成 select A.name