Documente Academic
Documente Profesional
Documente Cultură
TYPES:
1. 2. EQUI JOIN OUTER JOIN - RIGHT OUTER JOIN - LEFT OUTER JOIN - FULL OUTER JOIN SELF JOIN OR INNER JOIN CROSS JOIN
3. 4.
EQUI JOIN: SELECTING ONLY MATCHING ROWS. SELECT EMPLOYEES.FIRST_NAME, EMPLOYEES.SALARY, EMPLOYEES.DEPARTMENT_ID, DEPARTMENTS.DEPARTMENT_NAME FROM EMPLOYEES, DEPARTMENTS WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID; IN ORDER TO REDUCE THE COMPLEXITY WE CAN USE ALIAS IN THIS QUERY SELECT E.FIRST_NAME, E.SALARY, E.DEPARTMENT_ID, D.DEPARTMENT_NAME FROM EMPLOYEES E, DEPARTMENTS D
INSERT INTO COURSE VALUES (10,'ORACLE'); INSERT INTO COURSE VALUES (20,'DOTNET'); INSERT INTO COURSE VALUES (30,'JAVA'); INSERT INTO COURSE VALUES (40,'UNIX'); INSERT INTO COURSE VALUES (50,'TESTING');
INSERT INTO STUDENTS VALUES ('SENTHIL', 20); INSERT INTO STUDENTS VALUES ('MURUGAPPAN', 10); INSERT INTO STUDENTS VALUES ('RAMESH', 30); INSERT INTO STUDENTS VALUES ('KARTHI', 40); INSERT INTO STUDENTS VALUES ('RAVI', 60);
EQUI JOIN: SELECT S.SNAME, C.CID, C.CNAME FROM STUDENTS S, COURSE C WHERE S.CID = C.CID;
OUTER JOIN TYPES: RIGHT OUTER JOIN LEFT OUTER JOIN FULL OUTER JOIN
RIGHT OUTER JOIN: IT SHOWS THE UNMATCHED COLUMNS IN RIGHT SIDE TABLE) [BY INCLUDE (+) IN LEFT SIDE]
SELECT S.SNAME, C.CID, C.CNAME FROM STUDENTS S, COURSE C WHERE S.CID (+) = C.CID;
LEFT OUTER JOIN: IT SHOWS THE UNMATCHED COLUMNS IN LEFT SIDE TABLE [BY INCLUDE (+) IN RIGHT SIDE]
SELECT S.SNAME, C.CID, C.CNAME FROM STUDENTS S, COURSE C WHERE S.CID = C.CID (+);
SELF JOIN: SELECT E1.FIRST_NAME, E1.MANAGER_ID, E2.FIRST_NAME AS "MANAGER NAME" FROM EMPLOYEES E1, EMPLOYEES E2 WHERE E1.MANAGER_ID = E2.EMPLOYEE_ID;
WE CAN WRITTEN THIS SAME CONCEPTS USING THE FOLLOWING SYNTAX ALSO INSTEAD OF WHERE CLAUSE WE CAN USE ON NO NEED TO PUT + SIGN ADD KEY WORD - JOIN - RIGHT OUTER JOIN - LEFT OUTER JOIN - FULL OUTER JOIN - INNER JOIN (SELF JOIN)
JOIN SELECT S.SNAME, C.CID, C.CNAME FROM STUDENTS S JOIN COURSE C ON S.CID = C.CID;
RIGHT OUTER JOIN: SELECT S.SNAME, C.CID, C.CNAME FROM STUDENTS S RIGHT OUTER JOIN COURSE C ON S.CID = C.CID;
LEFT OUTER JOIN: SELECT S.SNAME, C.CID, C.CNAME FROM STUDENTS S LEFT OUTER JOIN COURSE C ON S.CID = C.CID;
SELF JOIN (OR) FULL OUTER JOIN: SELECT S.SNAME, C.CID, C.CNAME FROM STUDENTS S FULL OUTER JOIN COURSE C ON S.CID = C.CID;
FROM EMPLOYEES E1 INNER JOIN EMPLOYEES E2 ON E1.MANAGER_ID = E2.EMPLOYEE_ID; CROSS JOIN: CROSS JOIN IS A CARTESIAN PRODUCT NO OF ROWS IN THE FIRST TABLE JOIN WITH NO OF ROWS IN THE SECOND TABLE CARTESIAN PRODUCT IS FORM WHEN YOU IGNORE THE WHERE CLAUSE OR VALID JOIN CONDITION CROSS JOIN IS A WRONG JOIN TO AVOID THE CROSS JOIN WE USE THE WHERE CLAUSE OR VALID JOIN CONDITION
SELECT E.FIRST_NAME, E.DEPARTMENT_ID, D.DEPARTMENT_NAME, D.LOCATION_ID,L.CITY FROM EMPLOYEES E, DEPARTMENTS D, LOCATIONS L WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID AND D.LOCATION_ID = L.LOCATION_ID;
IF WE USE 50 TABLES IN THE JOINS MEANS WE HAVE TO WRITE 49 JOIN CONDITION IF WE USE N TABLES WE HAVE TO WRITE N-1 JOIN CONDITION