Monday, May 24, 2010

Join tables in the specific database

Consider a case, where there is too many records and tables in a database. Now to retrieve a particular row from a table or database is a very time consuming. So, what the alternative to that, divide the table in more than one table. In this section, we are going to see how to join two or more tables in a specific database. For this you need to have two or more table in the database. If two or more tables are available in the database then Join operation is performed otherwise not. Firstly, it is important to know about the join operation. Join operation provides the facility to combine records between two or more tables. It relates one table to another. Joining is the type of query for retrieving data two or more table in specific database. You can join the tables various types like: Natural join, Natural left join, Natural right join and so on. Here we are providing you an example with code that joins two tables through the NATURAL JOIN. Brief information given below:

Join: A join provides the facility to connect two tables are merged to each other according to field that is common and creates a new virtual table.

NATURAL JOIN: It is a type of join that retrieves data within specified tables to specific field is matched.

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.

NATURAL RIGHT JOIN: It also same as Natural left join but it retrieves the data from the second table in the database.

Description of program:

First of all, this program establishes the connection with MySQL database through the JDBC driver. After establishing the connection the NATURAL JOIN operation is performed within two tables say: employee and Emp_sal. The employee table holds the Emp_ed and Emp_name fields and Emp_sal table contains the Emp_name and Emp_sal. We are making use of the emp_name to join the tables.

Description of code:

This code is used to show all fields that matches in the both tables on the basis of Emp_name field.

Here is the code of program:

import java.sql.*;

public class NatJoinTable{
public static void main(String[] args) {
System.out.println("Natural Join Tables Example!");
Connection con = null;
con = DriverManager.getConnection
Statement st = con.createStatement();
ResultSet res = st.executeQuery
("SELECT *FROM "+"employee"+" NATURAL JOIN "+"Emp_sal"); //Join two tables
System.out.println("Emp_name" + "\t" + "Emp_ed" + "\t" + "Emp_sal");
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){
Download this example.

Table:- employee:

Emp_ed Emp_name




Table:- Emp_sal:

Emp_name Emp_sal


Output of program:


C:\vinod\jdbc\jdbc\jdbc-mysql>java NatJoinTable
Natural Join Tables Example!
Emp_name Emp_ed Emp_sal
santosh 2 4500
Aman 13 8000

No comments:

Post a Comment