Hogyan lehet csatlakozni két vagy több táblából

II) kérdések az SQL nyelv

Hogyan lehet a kimeneti minden oszlop a táblázatban?

Jelenítse meg az összes oszlopot a táblázat vagy lista az összes oszlopot a SELECT záradék, vagy használja a „*” szimbólum helyett egy lista oszlopok. A következő lekérdezés megjeleníti az összes asztal KAR:

Miért van szükség az alias oszlop nevét? Hogyan történik ez?

Képesítési oszlop nevek táblaneveket. Az oszlop neve lehet minősíteni (frissítve) táblanév az alábbi szintaxis használatával:

Tisztázása az oszlop nevét kell lennie abban az esetben, ha a lekérdezés használ sok táblázatot (lásd. Később) és különböző táblázatok oszlopok az azonos nevet. Tisztázása az oszlop neve lehet abban az esetben, ha nincs szükség erre. Például az alábbi lekérdezés tekinthető helyesnek:

SELECT ROOM.Num, ROOM.Seats, ROOM.Floor

3) Van-e a lekérdezés eredményének ismétlődő sorokat? Hogyan tudom eltávolítani ismétlődő sorokat?

Akkor törölje ismétlődő eredmény sorokban kifejezés használata KÜLÖNÁLLÓ vagy egyedülálló a SELECT utasításban. Ez a kifejezés vonatkozik a teljes termelés a vonal, nem az egyes oszlopokat. Például a következő két lekérdezés egyenértékűek, és egy listát az összes rendelkezésre álló pozíciók:

SELECT DISTINCT Hozzászólás SELECT EGYEDI hozzászólás

Tanártól; Tanártól;

ALL kulcsszó azt jelenti, hogy másolatokat kell menteni. Ez az érték az alap, ha a kulcsszavak nincsenek fent meghatározott. A következő két lekérdezés ekvivalens:

SELECT ALL Hozzászólás SELECT hozzászólás

Tanártól; Tanártól;

Miért alias oszlopokat? Ahogy csoda?

Ez egy másik nevet a kifejezés az oszlop és ez az alias alkalmazunk az oszlop fejlécében. AS kifejezés opcionális. Alias ​​átnevezi a tétel SELECT listáját kifejezések keretében a kérelmet. Az alias lehet használni a kifejezést, ORDER BY, de annak használata tilos, más kifejezéseket.

Miért a minősítési táblázat oszlopainak neveit?

Képesítési oszlop nevek táblaneveket. Az oszlop neve lehet minősíteni (frissítve) táblanév az alábbi szintaxis használatával:

Tisztázása az oszlop nevét kell lennie abban az esetben, ha a lekérdezés használ sok táblázatot (lásd. Később) és különböző táblázatok oszlopok az azonos nevet. Tisztázása az oszlop neve lehet abban az esetben, ha nincs szükség erre. Például az alábbi lekérdezés tekinthető helyesnek:

SELECT ROOM.Num, ROOM.Seats, ROOM.Floor

Mi egy külső kapcsolat? Határozza meg és vegye figyelembe a kérést, hogy a külső kapcsolat.

Külső csatlakozás (külső összekapcsolás). Külső kapcsolat kibővíti a hagyományos vegyületek. Külső kapcsolat visszaadja az összes sort, hogy kielégítik azt a feltételt a vegyület, valamint egy sor táblázatok, melyek nem volt sorban egy másik tábla, ami eleget tesz a feltétele a kapcsolatot. Az ilyen vonalak nem tért vissza a hagyományos vegyületet. Annak érdekében, hogy a külső kapcsolat és B. táblázatában eredményez minden sora a táblázatban az üzemeltetőnek kell alkalmazni külső csatlakozó (+) az összes táblázat oszlopai B. összes sort a táblázatban, melyek nem volt megfelelő sorok B tábla Oracle NULL mindazoknak kifejezések a SELECT listában használó oszlopokat B. ebben a példában, kapunk egy listát a karok és tanszékek, és a szervezeti egységek nevei vannak még abban az esetben, ha ezek nem rendelkeznek a karok - ebben az esetben név helyett osztály kimeneti érték NULL:

SELECT FACULTY.Name AS FacName, DEPARTMENT.Name AS DepName, DEPARTMENT.Fund AS DepFund

AZ Kar,

AHOL FACULTY.FacNo = DEPARTMENT.FacNo (+);

Hogyan lehet csatlakozni két vagy több táblát?

Sok asztal. Ha megad egy listát táblázatok a mondat, akkor az összes, az első sorban a táblázat összefűzve minden sora a második táblázat. Például a lekérdezés:

AZ Kar,;

termel konkatenációjából összes húrok KAR asztalt, minden OSZTÁLY táblázat sorait. Ez a lekérdezés egyenértékű műveletekkel Descartes-szorzat relációs algebra.

Kapcsolat a két asztal. Ahhoz, hogy a szemantikailag értelmezhető eredményeket kell csatlakoztatni a részlegek e széksorok tartozó e képességek.

Segítségével oszlop FacNo, amely jelen van mind a két táblában, akkor csatlakozni csak a karok és azok szervezeti egységei a WHERE záradék feltételeit, amint az a következő lekérdezést:

AZ Kar,

AHOL FACULTY.FacNo = DEPARTMENT.FacNo;

Egy ilyen vegyület az úgynevezett equi-vegyületet. mivel ez a termék az egyenlőség értékeinek két oszlopban különböző táblázatok.

Csatlakozás sok asztal. Tud-e csatlakozni a sok asztal, amennyire szüksége van, például, a következő kérdés jelenik meg a karok tanáraikkal:

SELECT FACULTY.Name, TEACHER.Name

A kar, tanszék, TANÁR

WHERE FACULTY.FacNo = DEPARTMENT.FacNo ÉS DEPARTMENT.DepNo = TEACHER.DepNo;

Megjegyezzük, hogy a táblázat oszlopai OSZTÁLY nem jelenik meg, akkor csak csatlakozáshoz használt kar kar. (Logikai operátorok későbbiekben lesz szó).

Megjegyzés: a szükséges oszlopokat. Ha több mint egy asztal, megadhatja a kimeneti oszlop különböző táblázatok. Ha szükséges, az oszlop nevét lehet megadni táblaneveket. Oszlop nevek is átnevezték segítségével álneveket, ahogy az a következő lekérdezést:

SELECT FACULTY.Name AS Faculty_name,

DEPARTMENT.Name AS Department_name,

DEPARTMENT.Fund AS Department_fund

AZ Kar,

AHOL FACULTY.FacNo = DEPARTMENT.FacNo;

Szerinti vegyület a feltétel, amelyet az jellemez, egyenlőség. Equi-kapcsolat a operátorral (=) a WHERE kifejezést a táblákat, egyéb relációs operátorok használják a nem-egyenértékű vegyületek. Például a következő példa mutatja a részleg, akik alap finanszírozása meghaladja a kari alap finanszírozása:

SELECT DEPARTMENT.Name, DEPARTMENT.Fund

AZ Kar,

AHOL FACULTY.Fund

Felhívjuk figyelmét, hogy miközben mi csatlakozni a két táblázatot kell válaszolni, de az eredmény oszlop kap csak a OSZTÁLY asztalra.

Kapcsolódó cikkek