SQL查询格式

时间:2010-10-11 21:17:23

标签: sql formatting

SELECT `accounts`.`password` FROM accounts WHERE `accounts`.`user`='some_user'

SELECT password FROM accounts WHERE user='some_user'

我对这两个人有点困惑。我知道结果,两者之间没有什么不同。但是有一些理由采取一种方式而不是另一种方式吗?我是从第二种方式学到的,但有些人告诉我,第一种方式是采用“官方”方式。

3 个答案:

答案 0 :(得分:2)

如果您正在执行table.field,则需要使用JOIN格式,并且需要使用它来消除不同表中具有相同名称的两个字段的歧义。例如:

   SELECT table1.name 
     FROM table1
LEFT JOIN table1 ON table1.id = table2.id
    WHERE table2.name='smith'

就使用重音符(`)而言,如果您的表或字段是保留的SQL关键字,例如selectwhereand等,则需要它。

答案 1 :(得分:0)

唯一不同的是您要将表名添加到查询中。我个人喜欢这样做以便以后的更改。如果您稍后加入另一个表中也有密码字段的表,则第二个语句将具有不明确的列名。

答案 2 :(得分:0)

只要您了解必须何时限定具有表名的列(当涉及多个表时)以及何时必须使用标识符引用(当您的标识符时)是处理查询的SQL引擎的保留字)然后我相信使用您的版本比使用完全限定和引用的版本更安全,更容易阅读。