Struct sql_query_builder::SelectBuilder
source · [−]pub struct SelectBuilder<'a> { /* private fields */ }Expand description
Builder to contruct a select command
Implementations
sourceimpl<'a> SelectBuilder<'a>
impl<'a> SelectBuilder<'a>
sourcepub fn and(self, clause: &'a str) -> Self
pub fn and(self, clause: &'a str) -> Self
The same as where_clause method, useful to write more idiomatic SQL query
use sql_query_builder::SelectBuilder;
let select = SelectBuilder::new()
.where_clause("login = foo")
.and("active = true");sourcepub fn as_string(&self) -> String
pub fn as_string(&self) -> String
Gets the current state of the SelectBuilder returns it as string
sourcepub fn debug(self) -> Self
pub fn debug(self) -> Self
Prints the current state of the SelectBuilder into console output in a more ease to read version. This method is useful to debug complex queries or just to print the generated SQL while you type
use sql_query_builder::SelectBuilder;
let select = SelectBuilder::new()
.select("*")
.from("users")
.where_clause("login = foo")
.and("active = true")
.debug();Output
SELECT *
FROM users
WHERE login = foo AND active = trueYou can debug different parts of the select putting it in another position
use sql_query_builder::SelectBuilder;
let select_query = SelectBuilder::new()
.select("*")
.from("users")
.debug()
.where_clause("login = foo")
.and("active = true")
.as_string();Output
SELECT *
FROM userssourcepub fn cross_join(self, table: &'a str) -> Self
pub fn cross_join(self, table: &'a str) -> Self
The cross join clause
sourcepub fn inner_join(self, condition: &'a str) -> Self
pub fn inner_join(self, condition: &'a str) -> Self
The inner join clause
sourcepub fn right_join(self, condition: &'a str) -> Self
pub fn right_join(self, condition: &'a str) -> Self
The right join clause
sourcepub fn limit(self, num: &'a str) -> Self
pub fn limit(self, num: &'a str) -> Self
The limit clause. This method overrides the previous value
use sql_query_builder::SelectBuilder;
let select = SelectBuilder::new()
.limit("123");
let select = SelectBuilder::new()
.limit("1000")
.limit("123");sourcepub fn offset(self, num: &'a str) -> Self
pub fn offset(self, num: &'a str) -> Self
The offset clause. This method overrides the previous value
use sql_query_builder::SelectBuilder;
let select = SelectBuilder::new()
.offset("1500");
let select = SelectBuilder::new()
.offset("1000")
.offset("1500");sourcepub fn print(self) -> Self
pub fn print(self) -> Self
Prints the current state of the SelectBuilder into console output similar to debug method, the difference is that this method prints in one line.
sourcepub fn raw(self, raw_sql: &'a str) -> Self
pub fn raw(self, raw_sql: &'a str) -> Self
Adds at the beginning a raw SQL query.
use sql_query_builder::SelectBuilder;
let raw_query = "select * from users u inner join address addr on u.login = addr.owner_login";
let select_query = SelectBuilder::new()
.raw(raw_query)
.where_clause("u.login = foo")
.as_string();Output
select * from users u inner join address addr on u.login = addr.owner_login
WHERE u.login = foosourcepub fn raw_after(self, clause: SelectClause, raw_sql: &'a str) -> Self
pub fn raw_after(self, clause: SelectClause, raw_sql: &'a str) -> Self
Adds a raw SQL query after a specified clause.
use sql_query_builder::{SelectClause, SelectBuilder};
let raw_join = "inner join address addr on u.login = addr.owner_login";
let select_query = SelectBuilder::new()
.select("*")
.from("users u")
.raw_after(SelectClause::From, raw_join)
.where_clause("u.login = foo")
.as_string();Output
SELECT *
FROM users u
inner join address addr on u.login = addr.owner_login
WHERE u.login = foosourcepub fn raw_before(self, clause: SelectClause, raw_sql: &'a str) -> Self
pub fn raw_before(self, clause: SelectClause, raw_sql: &'a str) -> Self
Adds a raw SQL query before a specified clause.
use sql_query_builder::{SelectClause, SelectBuilder};
let raw_query = "from users u inner join address addr on u.login = addr.owner_login";
let select_query = SelectBuilder::new()
.select("*")
.raw_before(SelectClause::Where, raw_query)
.where_clause("u.login = foo")
.as_string();Output
SELECT *
from users u inner join address addr on u.login = addr.owner_login
WHERE u.login = foosourcepub fn where_clause(self, condition: &'a str) -> Self
pub fn where_clause(self, condition: &'a str) -> Self
The where by clause
Trait Implementations
sourceimpl<'a> Clone for SelectBuilder<'a>
impl<'a> Clone for SelectBuilder<'a>
sourcefn clone(&self) -> SelectBuilder<'a>
fn clone(&self) -> SelectBuilder<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl<'a> Debug for SelectBuilder<'a>
impl<'a> Debug for SelectBuilder<'a>
sourceimpl<'a> Default for SelectBuilder<'a>
impl<'a> Default for SelectBuilder<'a>
sourcefn default() -> SelectBuilder<'a>
fn default() -> SelectBuilder<'a>
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl<'a> RefUnwindSafe for SelectBuilder<'a>
impl<'a> Send for SelectBuilder<'a>
impl<'a> Sync for SelectBuilder<'a>
impl<'a> Unpin for SelectBuilder<'a>
impl<'a> UnwindSafe for SelectBuilder<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more