Introduktion till Inner Join in Oracle
Förbindningsklausulerna används i Oracle-databasen för att få åtkomst till data från flera tabeller för att få information. Det finns olika typer av sammanfogningar i Oracle-databasen.
Inre sammanfogning är en av de typer av anslutningar i orakeldatabasen. En inre sammankoppling, gå med i flera tabeller och returnera de rader för vilka kopplingsvillkoret är eller är sant. En inre koppling är också känd som en enkel sammanfogning. Den inre sammanfogningen är den vanligaste sammanfogningen bland typerna av fogar.
Syntaxen för den inre sammanfogningen
SELECT column (, column ) FROM t1
INNER JOIN t2
ON t1.column = t2.column;
Den visuella bilden av den inre sammanfogningen representeras i diagrammet nedan, eftersom i det nedre diagrammet det skuggade området återgår som resultat av Oracle Inner Join
Oracle Inner Join returnerar skärningsposterna av t1 och t2 som resultat.
Frågaexempel för Inre medlem
Låt oss förstå det inre sammanfogandet i detalj med hjälp av några av frågorna:
Exempel 1
Frågaexempel för Inner Join
SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee
INNER JOIN department
ON employee.employee _id = department.employee _id;
Detta ovan exempel på Oracle INNER JOIN kommer att returnera alla rader från medarbetartabellen och avdelningstabellen där anställdas ID-värde i både anställdstabellen och avdelningstabellen matchas.
Vi beaktar här hr-schemat som är exempel på schema för orakeldatabasen. Hr-schemat innehåller LÄNDER, ANSTÄLLDA, DEPARTMENTS, JOB_HISTORY, JOBS, LOCATIONS, REGIONS-tabeller, där vi är intresserade eller kräver anställda, DEPARTMENTS och LOCATIONS-tabeller.
Beskrivningen av dessa tabeller är -
Tabell MEDARBETARE
Tabell AVDELNINGAR
Tabell PLATSER
Exempel 2
Exempel på inre koppling för två tabeller
Här vill vi hämta data från två tabeller MEDARBETARE och AVDELNINGAR. Här frågan skriver vi för att hämta den anställdes anställds id och anställdas förnamn från medarbetarens bord och avdelningens namn från avdelningens bord -
SELECT employees. employee_id, employees. first_name, departments.department_name
FROM employees, departments
WHERE employees. employee_id = departments. department_id;
Produktion
Kolumnnamnen med tabellen föregås av Oracle SELECT-klausulen. Om en kolumn är gemensam för båda tabellerna måste kolumnnamnet för klarhet förinställas med tabellnamnet. Tabellerna från var data ska hämtas anger i från-klausulen med kommaseparerad. I WHERE-klausulen anger du anslutningsvillkoret. Förhållandet mellan anställda och avdelningstabeller bestäms av värdena i kolumnen medarbetare_id i båda tabellerna måste vara lika och denna relation benämns Equi Join. Vanligtvis primära nycklar och utländska nycklar är involverade i detta förhållande.
Exempel 3
Inre sammanfogningsexempel på två tabeller med Aliaser
Låt oss skriva om ovanstående exempel genom att använda Tabell Aliaser som -
SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id;
Produktion
Liksom i ovanstående fråga skapas tabellaliaserna i från-klausulen efter kolumnnamnet och istället för att skriva ett fullständigt tabellnamn i väljklausulen före varje kolumn använder du tabellen Aliaser som e och d i frågan ovan.
Exempel 4
Inre sammanfogningsexempel för två tabeller med lägg till ytterligare klausuler
Nästa exempel på frågan där vi lägger till ytterligare klausuler i vårt Oracle SELECT-uttalande där klausul för att lägga till aggregeringar, begränsa raderna som returneras, definiera sorteringsordningen och så vidare. Här är ett exempelfråga som hämtar alla anställda som arbetar i avdelningar Finans, tillverkning och konstruktion.
SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ( 'Finance', 'Manufacturing', 'Construction' );
Produktion
Exempel 5
Inre sammanfoga exempel på två tabeller med en ordning enligt klausul
Nästa exempelfråga skriver vi ovanstående fråga genom att lägga till ordningen efter klausul och visar därför anställdens data sorterade efter avdelningens namn.
SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ('Finance', 'Manufacturing', 'Construction')
ORDER BY d. department_name;
Produktion
Exempel 6
Exempel på inre koppling för flera tabeller
Ibland för att få informationen kan vi behöva gå med i mer än två tabeller. Därefter skriver vi frågaexemplet för att gå med i flera tabeller. Tänk på exemplet vi vill hämta medarbetarens förnamn från medarbetartabellen, avdelningens namn från avdelningstabellen och landets id för den plats där den anställd arbetar i platstabellen.
SELECT e. first_name, e. salary, d. department_name, l. city, l. country_id
FROM employees e, departments d, locations l
WHERE e. employee_id = d. department_id
AND
d. location_id = l. location_id;
Produktion
För att gå med i fyra eller flera tabeller gäller samma koncept genom att lägga till tabellnamnet i FRA-klausulen för ett orakel och tillämpa kopplingsvillkoret vid WHERE-klausulen i ett orakel.
Slutsats
Inre sammanfogning är en av de typer av anslutningar i orakeldatabasen. En inre koppling används för att gå med i flera tabeller och returnera de rader för vilka kopplingsvillkoret är eller är sant. Vanligtvis är den primära nyckeln och den främmande nyckeln involverad i den inre kopplingen för att skapa en relation mellan tabellerna.
Rekommenderade artiklar
Detta är en guide till Inner Join in Oracle. Här diskuterar vi introduktionen till Inre gå tillsammans med några exempel i detalj. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–
- Gå med i MySQL
- Oracle Queries
- Oracle Data Warehousing
- Vad är Oracle-databasen