#Android-QueryBuilder

Android QueryBuilder is a simple library to construct sql select statements.

##Examples

###Select all

QueryBuilder builder = new QueryBuilder();
String sql = builder.select().from("users").build();

This will produce the following sql string:

SELECT * FROM users

###Column selection

QueryBuilder builder = new QueryBuilder();
String sql = builder.select("name").from("users").build();

SQL:

SELECT name FROM users

Mutiple columns can be selected as follows:

QueryBuilder builder = new QueryBuilder();
String sql = builder.select("name","id").from("users").build();

SQL:

SELECT name, id FROM users

###Where clause

QueryBuilder builder = new QueryBuilder();
String sql = builder.select("name").from("users").where("id").eq(1).build();

SQL:

SELECT name FROM users WHERE id = 1

####And

QueryBuilder builder = new QueryBuilder();
String sql = builder.select().from("users").where("password").eq("'password'").and("name").eq("'alex'").build();

SQL:

SELECT * FROM users WHERE password = 'password' AND name = 'alex'

####Or

QueryBuilder builder = new QueryBuilder();
String sql = builder.select().from("users").where("name").eq("'alex'").or("name").eq("'pete'").build();

SQL:

SELECT * FROM users WHERE name = 'alex' OR name = 'pete'

###Order by

QueryBuilder builder = new QueryBuilder();
String sql = builder.select().from("users").orderBy("name").build();

SQL:

SELECT * FROM users ORDER BY name
QueryBuilder builder = new QueryBuilder();
String sql = builder.select().from("users").orderBy("name","id").build();

SQL:

SELECT * FROM users ORDER BY name, id

###Inner join

QueryBuilder builder = new QueryBuilder();
String sql = builder.select().from("users").innerJoin("posts").on("posts.user_id").eq("user.id").build();

SQL:

SELECT * FROM users INNER JOIN posts ON posts.user_id = user.id

###Like

QueryBuilder builder = new QueryBuilder();
String sql = builder.select().from("users").where("name").like("'%alex%'").build();

SQL:

SELECT * FROM users WHERE NAME LIKE '%alex%'

###Group by

QueryBuilder builder = new QueryBuilder();
String sql = builder.select().from("users").groupBy("city").build();

SQL:

SELECT * FROM users GROUP BY city
QueryBuilder builder = new QueryBuilder();
String sql = builder.select().from("users").groupBy("city").build();

SQL:

SELECT * FROM users GROUP BY city

###Having

QueryBuilder builder = new QueryBuilder();
String sql = builder.select("department","SUM(sales) AS total_sales")
	.from("order_details")
	.groupBy("department")
	.having("SUM(sales)")
	.greater(1000).build();

SQL:

SELECT department, SUM(sales) AS total_sales FROM order_details GROUP BY department HAVING SUM(sales) > 1000

##License and copyright Copyright (C) 2013 Alexander Rüedlinger

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.