有些人编写的SQL语句很不清楚,或者不包含关联ID,处理这些SQL语句很让人头疼。如果查询只包含两个表,这可能并没有太大问题,不过如果SQL语句中涉及更多的表,就会让人很费解了。开发人员通常使用表名作为其关联ID,不过这样需要编写很多代码,特别是现在表名甚至可以包含128个字符。
使用关联ID很重要,这些关联ID应当能清楚地指示它们所表示的表。不要使用通用的A、B、C、D,等等。例如,你可能使用E表示EMP表,使用D表示DEPT表,如下:
SELECT E.EMPNO, E.LASTNAME
FROM EMP E
WHERE EXISTS
(SELECT 1
FROM DEPT D
WHERE D.MGRNO=E.EMPNO
AND D.DEPTNO LIKE'D%')
有一些网站可以帮你“格式化”SQL代码,使之更为清晰。可以访问Google,键入“SQL Formatter”(SQL格式化工具),你会搜索到一些网站,可以在这些网站中粘贴一个SQL语句,网站会把它进行处理,适当地设置对齐和缩进,使它可读性更好。另外,IBM Data Studio工具也包含一个查询格式化特性。
联接谓词中的所有关联子查询中都应当编写关联ID,这一点尤其重要。有时,取决于子查询中join语句中是否有关联ID,有可能会有不同的逻辑。