logo

SQL | Clàusula USING

Si diverses columnes tenen els mateixos noms però els tipus de dades no coincideixen, la clàusula NATURAL JOIN es pot modificar amb el UTILITZANT clàusula per especificar les columnes que s'han d'utilitzar per a un EQUIJOIN .

  • La clàusula USING s'utilitza per fer coincidir només una columna quan coincideix més d'una columna.
  • La clàusula NATURAL JOIN i USING s'exclouen mútuament.
  • No hauria de tenir un qualificador (nom de taula o àlies) a les columnes de referència.
  • NATURAL JOIN utilitza totes les columnes amb noms i tipus de dades coincidents per unir les taules. La clàusula USING es pot utilitzar per especificar només les columnes que s'han d'utilitzar per a un EQUIJOIN.



EXEMPLES:

iterador de java per al mapa

Aplicarem les ordres esmentades a continuació a les taules base següents:

    Taula d'empleats



    Taula Departament

    identificadors java vàlids

    CONSULTA 1: Escriu una consulta SQL per trobar la ubicació de treball dels empleats. També doneu els seus respectius employee_id i last_name?



     Input : SELECT e.EMPLOYEE_ID, e.LAST_NAME, d.LOCATION_ID FROM Employees e JOIN Departments d USING(DEPARTMENT_ID); Output :>

Explicació: L'exemple mostrat s'uneix a la columna DEPARTMENT_ID als EMPLOYEES i DEPARTMENTS
taules i, per tant, mostra la ubicació on treballa un empleat.

Aplicarem les ordres esmentades a continuació a les taules base següents:

    Taula País

    cerca binària en java

    Taula de localització

    CONSULTA 2: Escriu una consulta SQL per trobar la location_id, street_address, postal_code i el nom del país corresponent?

     Input : SELECT l.location_id, l.street_address, l.postal_code, c.country_name FROM locations l JOIN countries c USING(country_id); Output :>

Explicació: L'exemple mostrat s'uneix a la columna COUNTRY_ID a LOCATIONS i COUNTRIES
taules i, per tant, mostra els detalls requerits.

NOTA: Quan utilitzem la clàusula USING en una instrucció d'unió, la columna d'unió no està qualificada amb l'Àlies de taula. No l'àlies encara que s'utilitzi la mateixa columna en qualsevol altre lloc de la instrucció SQL:

caràcter a cadena

Exemple:

     Input: SELECT l.location_id, l.street_address, l.postal_code, c.country_name FROM locations l JOIN countries c USING(country_id) WHERE c.country_id'IT'; Output:>

Explicació: Com que la columna de la clàusula USING s'utilitza de nou a la clàusula WHERE, per tant genera un error a l'usuari.