sintaxis - USANDO la cláusula Keyword vs ON-MYSQL



sql create schema mysql (1)

La cláusula USING es algo que no necesitamos mencionar en la condición JOIN cuando estamos recuperando datos de múltiples tablas. Cuando usamos la cláusula USING , ese nombre de columna particular debe estar presente en ambas tablas, y la consulta SELECT se unirá automáticamente a esas tablas usando el nombre de columna dado en la cláusula USING .

por ejemplo, si hay dos nombres de columnas comunes en la tabla, a continuación, mencione el nombre de columna común deseado en la cláusula USING

USING también se usa al ejecutar Dynamic SQL.

p.ej,

EXECUTE IMMEDIATE 'DELETE FROM dept WHERE deptno = :num'
  USING dept_id; 
  • La cláusula USING : Esto le permite especificar la clave de unión por nombre.

  • La cláusula ON : esta sintaxis le permite especificar los nombres de columna para las claves de combinación en ambas tablas.

La cláusula USING

La cláusula USING se usa si varias columnas comparten el mismo nombre pero no desea unirse usando todas estas columnas comunes. Las columnas enumeradas en la cláusula USING no pueden tener ningún calificador en la declaración, incluida la cláusula WHERE.

La cláusula ON

La cláusula ON se usa para unir tablas donde los nombres de columna no coinciden en ambas tablas. Las condiciones de unión se eliminan de las condiciones de filtro en la cláusula WHERE.

Posible duplicado:
MySQL ON vs USING?

Consulta 1:

SELECT *
FROM users
JOIN orders ON (orders.user_id = users.user_id)
WHERE users.user_id = 1;

Consulta 2:

SELECT *
FROM users
JOIN orders USING (user_id)
WHERE user_id = 1;

Quiero unirme a las tablas de pedidos y usuarios para obtener ciertos datos. Funciona bien. Mi problema es que ambas consultas generan el mismo conjunto de resultados, ¿es lo mismo? ¿Cuál es más eficiente para ser utilizado? ¿Cuál es bueno para el rendimiento? ¿Cuál es la mejor práctica?





sql