十一、join
对于表join有如下这么几种类型

根据以上对于join的处理,这里新增了一个NeoJoiner类用于链式的拼接sql处理。以下为类Neo中的函数
public NeoJoiner join(String leftTableName, String rightTableName){}
public NeoJoiner leftJoin(String leftTableName, String rightTableName){}
public NeoJoiner rightJoin(String leftTableName, String rightTableName){}
public NeoJoiner innerJoin(String leftTableName, String rightTableName){}
public NeoJoiner outerJoin(String leftTableName, String rightTableName){}
public NeoJoiner leftJoinExceptInner(String leftTableName, String rightTableName){}
public NeoJoiner rightJoinExceptInner(String leftTableName, String rightTableName){}
public NeoJoiner outerJoinExceptInner(String leftTableName, String rightTableName){}NeoJoiner中也有跟上面一样的一组函数,且有on函数
public NeoJoiner on(String leftColumnName, String rightColumnName){}此外还有对数据的查询查询处理(还有更多处理):
public NeoMap one(Columns columns, NeoMap searchMap){}
public NeoMap one(Columns columns){}
public List<NeoMap> list(Columns columns, NeoMap searchMap){}
public List<NeoMap> list(Columns columns){}
public List<NeoMap> page(Columns columns, NeoMap searchMap, NeoPage neoPage) {}
public List<NeoMap> page(Columns columns, NeoPage page){}
public Integer count(Columns columns, NeoMap searchMap){}
public <T> T value(Class<T> tClass, String tableName, String columnName, NeoMap searchMap){}
public <T> T value(Class<T> tClass, String tableName, String columnName){}
public String value(String tableName, String columnName, NeoMap searchMap){}
public String value(String tableName, String columnName){}
public <T> List<T> values(Class<T> tClass, String tableName, String columnName, NeoMap searchMap){}
public <T> List<T> values(Class<T> tClass, String tableName, String columnName){}
public List<String> values(String tableName, String columnName, NeoMap searchMap){}
public List<String> values(String tableName, String columnName){}两表join
基于以上的函数,我们这里简单列举 下简单的实例
多表join
其实多表和两表是一样的,只是在on之后又多拼接了一个,举例如下
join类型
前面简单列举了,下面我们列举下对应的一些join
join(在这里等价于left join)
left join
right join
inner join
outer join
left join except inner
right join except inner
outer join except inner(mysql 不支持)
表别名处理 在单表时候查询数据时候还用不到表别名,但是对于多表join的时候,如果里面有表之间相互别名的时候,就需要用到别名了,那么别名怎么使用呢,这里涉及了这样的方式,直接将表名设置成“tablename as t1”,然后将这个直接作为表名进行查询即可。
Last updated
Was this helpful?