Professional Documents
Culture Documents
Joins
Joins
INNER JOIN
The INNER JOIN KEYWORD SELECTS RECORDS THAT
HAVE MATCHING VALUES IN BOTH TABLES.
INNER JOIN SYNTAX
SELECT COLUMN(S)
FROM TABLE1 INNER JOIN TABLE2
TABLE1 COLUMN_NAME=TABLE2 COLUMN_NAME;
TYPES OF
INNER JOIN
1.EQUI JOIN
2.NON EQUI JOIN
EQUI JOIN:
1.EQUI JOIN IS A JOIN FOR EQUALITY OR MATCHING
COLUMN(S) VALUES OF THE RELATIVE TABLES.
2.WE CAN USE EQUI JOIN IN BOTH ANSI AND NON
ANSI CONDITION.
SYNTAX FOR EQUI
CONDITION ANSI
METHOD:
SELECT COLUMN(S)
FROM TABLE1 INNER JOIN TABLE2
ON TABLE1 COLUMN_NAME=TABLE 2 COLUMN NAME
EQUAL JOIN
USING ANSI METHOD
SELECT
STUDENTS.ROLL_NO, STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS INNER JOIN STUDENTS_COURSE
ON
STUDENTS.ROLL_NO=STUDENTS_COURSE.ROLL_NO;
---------------------USING NON ANSI
METHOD--------------------------------------
SELECT STUDENTS.ROLL_NO,
STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS , STUDENTS_COURSE
WHERE
STUDENTS.ROLL_NO=STUDENTS_COURSE.ROLL_NO;
NON EQUI METHOD
NON EQUI JOIN PERFORMS A JOIN USING
COMPARISON OPERATOR OTHER THAN
EQUAL(=),>,<,>=,<=
SELECT STUDENTS.ROLL_NO,
STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS LEFT OUTER JOIN
STUDENTS_COURSE
ON STUDENTS.ROLL_NO (+)
=STUDENTS_COURSE.ROLL_NO;
NON ANSI METHOD NON
EQUI JOIN
SELECT COLUMN(S)
FROM TABLE1 INNER JOIN TABLE2
WHERE TABLE1 COLUMN_NAME (+) !=TABLE 2
COLUMN NAME
SELECT STUDENTS.ROLL_NO,
STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS LEFT OUTER JOIN
STUDENTS_COURSE
WHERE STUDENTS.ROLL_NO (+)!
=STUDENTS_COURSE.ROLL_NO;
FULL OUTER JOIN
RETURNS UNMATCHED ROWS FROM BOTH TABLES,
AS WELL AS MATCHED TABLES IN BOTH TABLES
SYNTAX FOR FULL
OUTER JOIN
ANSI METHOD EQUI
JOIN
SELECT COLUMN(S)
FROM TABLE1 FULL OUTER JOIN TABLE2
ON TABLE1 COLUMN_NAME =TABLE 2 COLUMN
NAME
SELECT STUDENTS.ROLL_NO,
STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS FULL OUTER JOIN
STUDENTS_COURSE
ON STUDENTS.ROLL_NO
=STUDENTS_COURSE.ROLL_NO;
ANSI METHOD NON EQUI
JOIN
SELECT COLUMN(S)
FROM TABLE1 FULL OUTER JOIN TABLE2
ON TABLE1 COLUMN_NAME (+) =TABLE 2 COLUMN
NAME
SELECT STUDENTS.ROLL_NO,
STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS FULL OUTER JOIN
STUDENTS_COURSE
ON STUDENTS.ROLL_NO!
=STUDENTS_COURSE.ROLL_NO;
NON ANSI METHOD EQUI
JOIN
SELECT COLUMN(S)
FROM TABLE1 LEFT OUTER JOIN TABLE2
ON TABLE1 COLUMN_NAME =TABLE 2 COLUMN
NAME (+)
UNION
SELECT COLUMN(S)
FROM TABLE1 RIGHT OUTER JOIN TABLE2
ON TABLE1 COLUMN_NAME (+) =TABLE 2 COLUMN
NAME
SELECT STUDENTS.ROLL_NO,
STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS LEFT OUTER JOIN
STUDENTS_COURSE
ON STUDENTS.ROLL_NO
=STUDENTS_COURSE.ROLL_NO (+);
UNION
SELECT STUDENTS.ROLL_NO,
STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS RIGHT OUTER JOIN
STUDENTS_COURSE
ON STUDENTS.ROLL_NO
=(+)STUDENTS_COURSE.ROLL_NO;
CROSS JOIN
1.CROSS JOIN IS USED TO COMBINE EACH ROW OF
FIRST TABLE WITH EACH ROW OF SECOND TABLE.
2.IT IS ALSO KNOWN AS CARTESIAN PRODUCT
SELECT STUDENTS.ROLL_NO,
STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS CROSS JOIN STUDENTS_COURSE;
SELF JOIN
A SELF JOIN IS A REGULAR JOIN WHERE TABLE
JOINED BY ITSELF
NATURAL JOIN
1.NATURAL JOIN IS LIKE A EQUI JOIN FOR EQUALITY
OR MATCHING COLUMN(S) VALUES OF THE RELATIVE
TABLES.
SELECT COLUMN(S)
FROM TABLE1 JOIN TABLE2
WHERE TABLE1 COLUMN_NAME=TABLE 2 COLUMN
NAME
SELECT STUDENTS.ROLL_NO,
STUDENTS_COURSE.ROLL_NO,
STUDENTS_COURSE.COURSE_ID,
STUDENTS.STUDENT_NAME
FROM STUDENTS, STUDENTS_COURSE
WHERE
STUDENTS.ROLL_NO=STUDENTS_COURSE.ROLL_NO;