Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:");
Statement stat = conn.createStatement();
stat.execute("create table person (p_id primary key, p_name)");
stat.execute("insert into person values (1, 'employee')");
stat.execute("create table contact (p_id primary key, p_name)");
stat.execute("insert into contact values (1, 'contact')");
stat.execute("create table company (p_id primary key, p_name)");
stat.execute("insert into company values (1, 'company')");
PreparedStatement stmt = conn.prepareStatement(
"select * from ( person as p " +
"inner join company as c on p.p_id=c.p_id " +
") " +
"inner join contact as ct on p.p_id=ct.p_id " +
"where p.p_id=?;");
stmt.setInt(1, 1);
ResultSet rs = stmt.executeQuery();
rs.next();
System.out.println(
rs.getString(1) + "|" + rs.getString(2) + "|" +
rs.getString(3) + "|" + rs.getString(4) + "|" +
rs.getString(5) + "|" + rs.getString(6));