可能重复:
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 次 |
最近记录: |