logo

SQL | Ustanovení POUŽÍVÁNÍ

Pokud má několik sloupců stejné názvy, ale datové typy se neshodují, lze klauzuli NATURAL JOIN upravit pomocí POUŽITÍM klauzule k určení sloupců, které by měly být použity pro EQUIJOIN.

  • Klauzule USING se používá ke spárování pouze jednoho sloupce, pokud se shoduje více než jeden sloupec.
  • Klauzule NATURAL JOIN a USING se vzájemně vylučují.
  • V odkazovaných sloupcích by neměl mít kvalifikátor (název tabulky nebo alias).
  • NATURAL JOIN používá všechny sloupce s odpovídajícími názvy a datovými typy ke spojení tabulek. Klauzuli USING lze použít k určení pouze těch sloupců, které by měly být použity pro EQUIJOIN.



PŘÍKLADY:

pole v metodách Java

Níže uvedené příkazy použijeme na následující základní tabulky:

    Tabulka zaměstnanců



    Stůl oddělení

    DOTAZ 1: Napište SQL dotaz pro nalezení pracovní polohy zaměstnanců. Uveďte také příslušné zaměstnanecké_id a příjmení?



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

Vysvětlení: Zobrazený příklad spojuje sloupec DEPARTMENT_ID ve sloupcích EMPLOYEES a DEPARTMENTS
tabulky, a tak ukazuje místo, kde zaměstnanec pracuje.

Níže uvedené příkazy použijeme na následující základní tabulky:

    Tabulka zemí

    mapa java

    Tabulka umístění

    DOTAZ 2: Napište SQL dotaz, abyste našli location_id, street_address, postal_code a jejich příslušný název země?

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

Vysvětlení: Zobrazený příklad spojuje sloupec COUNTRY_ID ve sloupcích LOCATIONS a COUNTRIES
tabulky, a tím zobrazí požadované detaily.

POZNÁMKA: Když použijeme klauzuli USING v příkazu spojení, sloupec spojení není kvalifikován s aliasem tabulky. Nedělejte alias, i když je stejný sloupec použit jinde v příkazu SQL:

"jaký je rozdíl mezi lvem a tygrem"

Příklad:

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

Vysvětlení: Vzhledem k tomu, že sloupec v klauzuli USING je znovu použit v klauzuli WHERE, vyhodí uživateli chybu.