SQL同名列简化连接方法:寻找替代ON(a.col=b.col)的语法
你说的这种简化连接语法是USING()子句,而非ON()的简写形式。
当两个表需要连接的列名称完全相同时,就可以用USING(colname)替代ON(a.colname = b.colname),举个实际例子:
常规写法:
SELECT * FROM table_a LEFT JOIN table_b ON table_a.user_id = table_b.user_id;
用USING的简化写法:
SELECT * FROM table_a LEFT JOIN table_b USING(user_id);
需要注意的细节:
- 必须保证两个表中用于连接的列名完全一致,否则会触发语法错误
- 使用
USING后,查询结果里这个连接列只会显示一次(不带表别名),而用ON的话如果不指定具体列,结果中可能会出现两个同名列(比如table_a.user_id和table_b.user_id)
内容的提问来源于stack exchange,提问作者Thomas Oudsen
相关产品推荐
相关产品推荐

