Monday, May 24, 2010

Join tables with the NATURAL LEFT JOIN operation

This section describes the NATURAL LEFT JOIN operation and how to retrieve data through it. In this operation we are going to retrieve data according to match the field name of another tables.

NATURAL LEFT JOIN: In this operation both tables are merged to each other according to common fields but the priority is given to the first table in database.

Description of program:

In this program we are going to establish the connection with MySQL database by using the JDBC driver, after that we will join two tables through the help of NATURAL LEFT JOIN operation. It retrieves data on the specific field name that matches in both tables.

Description of code:

SELECT *FROM employee NATURAL LEFT JOIN Emp_sal:
Above code retrieves all data that matches in both tables on the basis of Emp_name field.

Here is the code of program:

import java.sql.*;

public class NatLeftJoinTable{
public static void main(String[] args) {
System.out.println("Natural Left Join Tables Example!");
Connection con = null;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection
("jdbc:mysql://localhost:3306/jdbctutorial","root","root");
try{
Statement st = con.createStatement();
ResultSet res = st.executeQuery
("SELECT *FROM "+"employee"+" NATURAL LEFT JOIN "+"Emp_sal");
//Natural Left Join two tables
System.out.println("Emp_name" + "\t" + "Emp_ed" + "\t" + "Emp_sal");
while(res.next()){
String name = res.getString("Emp_name");
int ed = res.getInt("Emp_ed");
int sal = res.getInt("Emp_sal");
System.out.println(name + "\t\t" + ed + "\t" + sal);
}
}
catch (SQLException s){
System.out.println("SQL statement is not executed!");
}
}
catch (Exception e){
e.printStackTrace();
}
}
}
Download this example.

Table:- employee:

Emp_ed Emp_name
2
10

13

santosh
deepak

Aman

Table:- Emp_sal:

Emp_name Emp_sal
Aman
santosh

8000
4500

Output of program:

C:\vinod\jdbc\jdbc\jdbc-mysql>javac NatLeftJoinTable.java

C:\vinod\jdbc\jdbc\jdbc-mysql>java NatLeftJoinTable
Natural Left Join Tables Example!
Emp_name Emp_ed Emp_sal
santosh 2 4500
deepak 10 0
Aman 13 8000

No comments:

Post a Comment