src/com/holub/database/DefaultSelect.java
/** 
	 * select function when otherTables exists
	 * @param otherTables
	 * @return Table
	 */
select function when otherTables exists
@param otherTables
@return Table
select function when otherTables exists @param otherTables @return Table
private Table select(Table[] otherTables) {
		if(!isTableExist(otherTables)) return select();	
		Table[] allTables = new Table[otherTables.length + 1];
		allTables[0] = source;
		System.arraycopy(otherTables, 0, allTables, 1, otherTables.length);
		String[] columnNames = makeAllColumns(otherTables);
		Table resultTable = new ConcreteTable(null, columnNames);
		Cursor[] envelope = new Cursor[allTables.length];
		selectFromCartesianProduct(0, where, columnNames, allTables, envelope, resultTable);
		return resultTable;
	}
private Table select ( Table [ ] otherTables ) { if ( ! isTableExist ( otherTables ) ) return select ( ) ; Table [ ] allTables = new Table [ otherTables . length + 1 ] ; allTables [ 0 ] = source ; System . arraycopy ( otherTables , 0 , allTables , 1 , otherTables . length ) ; String [ ] columnNames = makeAllColumns ( otherTables ) ; Table resultTable = new ConcreteTable ( null , columnNames ) ; Cursor [ ] envelope = new Cursor [ allTables . length ] ; selectFromCartesianProduct ( 0 , where , columnNames , allTables , envelope , resultTable ) ; return resultTable ; }
select function when otherTables exists
 @param otherTables
 @return Table
select function when otherTables exists @param otherTables @return Table
// select from only source table // If we need join & requested Columns is *