SQL JOIN中使用table.column还是仅column标识符哪种更规范?
SQL JOIN查询中字段前缀写法的规范问题
两种写法在SQL语法上都是合法且能正常执行的,但从代码规范、可读性和可维护性的角度来看,你老师的写法更值得推荐,原因如下:
- 避免字段歧义:如果关联的两个表存在同名字段(比如都有
id、create_time这类通用字段),省略表前缀会直接触发SQL语法错误,明确指定表前缀能从根源上规避这类问题。 - 提升代码可读性:在多表关联的复杂查询里,看到带表前缀的字段就能立刻明确它的来源表,后续其他人接手维护或者你自己时隔很久再看这段代码时,能快速理解逻辑。
- 增强扩展性:当后续需要给查询添加更多字段、或者关联更多表时,带前缀的写法不需要修改已有字段的引用,直接新增即可,扩展性更强。
两种写法示例
老师的推荐写法:
SELECT board1.column1, board2.column2 FROM board1 JOIN board2 ON board1.common_column = board2.common_column;
你认为更简洁的写法(语法合法但不推荐):
SELECT column1, column2 FROM board1 JOIN board2 ON board1.common_column = board2.common_column;
内容的提问来源于stack exchange,提问作者Miguel Pinedo Faci
相关产品推荐
相关产品推荐

