0% found this document useful (0 votes)
12 views15 pages

Joining SQL

Uploaded by

Ankur Aggarwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views15 pages

Joining SQL

Uploaded by

Ankur Aggarwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Table Joins and Indexes in SQL

Fetching data from multiple tables


Fetching data in faster way
Joining
A join is a query that combines rows from two of
more tables. In JOIN query more than one table
are listed in FROM clause. MySQL provides
various type of Joining :

1) CROSS JOIN or CARTESIAN PRODUCT


2) EQUI-JOIN
3) NATURAL JOIN
Cross Join (Cartesian product)
• It return all possible concatenation of all rows
from both table i.e. one row of First table is
joined with all the rows of second table.
• Cartesian product join each row of one table
with each row of another table. So if –
• First table have 6 rows and second table have 4 rows
then total number of rows in output will be 6 x 4 = 24.
• i.e. Total Number of Rows after Cartesian
product(Cardinality) = Cardinality of First Table X
Cardinality of Second Table
Cross Join (Cartesian product)

• Suppose I want a combination of all colors with all


shades. In this case Cartesian product or cross join is
used.
• For Example
▫ Select * from Shades,Color
• Output will contain 9 rows i.e. no. of rows in first
table x no. of rows in second table
Cross Join (Cartesian product)
Cross Join (Cartesian product)
Equi-join
• The join in which columns are compared for
equality is called Equi-Join. A non-equi join
specifies condition with non-equality operator.
In equi-join we put(*) in the select list therefore
the common column will appear twice in the
output.
• To understand the output, lets take 2 table one
for employee (contains employee detail with
deptno) and another for department contains
deptno and other department details.
Equi-join

Now we want to
fetch details of
employee along
with its
corresponding
matching
department. Like
for ‘alam’ deptno
is 10 so from dept
table it should
show deptno 10
details and so on
Equi-join
Common
Column
appears
twice in
output

From the above query, we can observe that while doing equi-join we have to give
equality condition on common column of both table so that it picks related
records
Equi-join
We can also give Table Alias i.e. ni ck name for table name an d further we can use
this name any where in query in place of table name. This is helpful when table
name is of big length and we can shorten the query
Natural Join
• The JOIN in which only one of the identical
columns exists in called Natural Join. It is
similar to Equi-join except that duplicate
columns are eliminated in Natural join that
would otherwise appear in Equi-Join.
• In natural join we specify the names of column
to fetch in place of (*) which is responsible of
appearing common column twice in output.
*, like in equi-join but we
are giving list of columns to

Natural Join
fetch
Natural Join

The reason of this error


is – the deptno exists in To resolve this error,
both the table, so in this
just qualify the
case if we are selecting or
using only deptno then it
common column by
becomes ambiguous table name as
from which table this TableName.column
deptno will be selected name
Natural Join
Additional condition in joins

You might also like