logo

SQL | Clause UTILISATION

Si plusieurs colonnes portent les mêmes noms mais que les types de données ne correspondent pas, la clause NATURAL JOIN peut être modifiée avec le EN UTILISANT clause pour spécifier les colonnes qui doivent être utilisées pour un EQUIJOIN .

  • La clause USING est utilisée pour faire correspondre une seule colonne lorsque plusieurs colonnes correspondent.
  • Les clauses NATURAL JOIN et USING s'excluent mutuellement.
  • Il ne doit pas y avoir de qualificatif (nom de table ou alias) dans les colonnes référencées.
  • NATURAL JOIN utilise toutes les colonnes avec des noms et des types de données correspondants pour joindre les tables. La clause USING peut être utilisée pour spécifier uniquement les colonnes qui doivent être utilisées pour un EQUIJOIN.



EXEMPLES:

exception de pointeur nul

Nous appliquerons les commandes mentionnées ci-dessous sur les tables de base suivantes :

    Tableau des employés



    mathématiques pow java

    Tableau des départements

    REQUÊTE 1 : Écrivez une requête SQL pour trouver le lieu de travail des employés. Donnez également leur id_employé et leur nom de famille respectifs ?



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

Explication: L'exemple présenté joint la colonne DEPARTMENT_ID dans les EMPLOYES et DEPARTMENTS
tableaux, et montre ainsi l'emplacement où travaille un employé.

Nous appliquerons les commandes mentionnées ci-dessous sur les tables de base suivantes :

    Tableau des pays

    java mathématiques aléatoire

    Tableau de localisation

    REQUÊTE 2 : Écrire une requête SQL pour trouver le location_id, la street_address, le postal_code et le nom de leur pays respectif ?

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

Explication: L'exemple présenté joint la colonne COUNTRY_ID dans les champs LOCATIONS et COUNTRIES.
tableaux, et affiche ainsi les détails requis.

REMARQUE : lorsque nous utilisons la clause USING dans une instruction de jointure, la colonne de jointure n'est pas qualifiée avec l'alias de table. Ne l'aliasez pas même si la même colonne est utilisée ailleurs dans l'instruction SQL :

liste des utilisateurs MySQL

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

Explication: Étant donné que la colonne de la clause USING est à nouveau utilisée dans la clause WHERE, elle renvoie donc une erreur à l'utilisateur.