logo

SQL | Clausola USO

Se più colonne hanno gli stessi nomi ma i tipi di dati non corrispondono, la clausola NATURAL JOIN può essere modificata con UTILIZZANDO clausola per specificare le colonne che dovrebbero essere utilizzate per un EQUIJOIN .

  • La clausola USING viene utilizzata per trovare la corrispondenza con una sola colonna quando corrisponde più di una colonna.
  • Le clausole NATURAL JOIN e USING si escludono a vicenda.
  • Non deve avere un qualificatore (nome tabella o alias) nelle colonne di riferimento.
  • NATURAL JOIN utilizza tutte le colonne con nomi e tipi di dati corrispondenti per unire le tabelle. La clausola USING può essere utilizzata per specificare solo quelle colonne che dovrebbero essere utilizzate per un EQUIJOIN.



ESEMPI:

Java aggiunge a un array

Applicheremo i comandi indicati di seguito sulle seguenti tabelle di base:

    Tavolo dei dipendenti



    Tavolo del Dipartimento

    un modulo completo

    DOMANDA 1: Scrivi una query SQL per trovare la posizione di lavoro dei dipendenti. Fornire anche i rispettivi ID dipendente e cognome?



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

Spiegazione: L'esempio mostrato unisce la colonna DEPARTMENT_ID in EMPLOYEES e DEPARTMENT
tabelle e quindi mostra il luogo in cui lavora un dipendente.

Applicheremo i comandi indicati di seguito sulle seguenti tabelle di base:

    Tabella dei paesi

    sottostringa java

    Tabella delle posizioni

    DOMANDA 2: Scrivi una query SQL per trovare location_id, street_address, postal_code e il rispettivo nome del paese?

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

Spiegazione: L'esempio mostrato unisce la colonna COUNTRY_ID in LOCATION e COUNTRIES
tabelle e quindi mostra i dettagli richiesti.

NOTA: quando utilizziamo la clausola USING in un'istruzione join, la colonna join non è qualificata con l'alias della tabella. Non eseguire l'alias anche se la stessa colonna viene utilizzata altrove nell'istruzione SQL:

file con estensione java

Esempio:

     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:>

Spiegazione: Poiché la colonna nella clausola USING viene utilizzata nuovamente nella clausola WHERE, genera un errore all'utente.