public final void createQuery() {

		//
		if (queryNeedsSelect()) {
			query += addSelect();
		}
		if (queryNeedsInsert()) {
			query += addInsert();
		}
		if (queryNeedsUpdate()) {
			query += addUpdate();
		}
		if (queryNeedsDelete()) {
			query += addDelete();
		}

		//
		if (queryNeedsFrom()) {
			query += " ";
			query += addFrom();
		}
		if (queryNeedsInnerJoin()) {
			query += " ";
			query += addInnerJoin();
		}
		if (queryNeedsInto()) {
			query += " ";
			query += addInto();
		}
		if (queryNeedsSet()) {
			query += " ";
			query += addSet();
		}

		//
		if (queryNeedsWhere()) {
			query += " ";
			query += addWhere();
		}
		if (queryNeedsValues()) {
			query += " ";
			query += addValues();
		}

		//
		if (queryNeedsGroupBy()) {
			query += " ";
			query += addGroupBy();
		}
		if (queryNeedsOrderBy()) {
			query += " ";
			query += addOrderBy();
		}
	}