可能重复:
MySQL ON vs USING?
查询1:
SELECT *
FROM users
JOIN orders ON (orders.user_id = users.user_id)
WHERE users.user_id = 1;
Run Code Online (Sandbox Code Playgroud)
查询2:
SELECT *
FROM users
JOIN orders USING (user_id)
WHERE user_id = 1;
Run Code Online (Sandbox Code Playgroud)
我想加入订单和用户表来获取某些数据.它工作正常.我的问题是,因为两个查询输出相同的结果集,它是否相同?哪一个更有效率?哪一个对性能有好处?哪一个是最佳做法?
ech*_*_Me 46
当我们从多个表中检索数据时,我们USING不需要提及该子句JOIN.当我们使用USING子句时,两个表中应该存在该特定列名,并且SELECT查询将使用USING子句中的给定列名自动连接这些表.
例如,如果表中有两个常用列名,则在USING子句中提及所需的公用列名
USING 在执行动态SQL时也使用.
例如,
EXECUTE IMMEDIATE 'DELETE FROM dept WHERE deptno = :num'
USING dept_id;
Run Code Online (Sandbox Code Playgroud)
该USING条款:允许您指定名称的连接键.
该ON子句:此语法允许您加入两个表中的主键指定的列名.
USING子句
USING如果多个列共享相同的名称但您不想使用所有这些公共列进行连接,则使用该子句.USING子句中列出的列在语句中不能包含任何限定符,包括WHERE子句.
ON条款
该
ON子句用于连接两个表中列名不匹配的表.从WHERE子句中的过滤条件中删除连接条件.
| 归档时间: |
|
| 查看次数: |
74787 次 |
| 最近记录: |