RSS
热门关键字:  数据挖掘  人工智能  数据仓库  搜索引擎  数据挖掘导论

Hibernate查询语句

来源: 作者: 时间:2007-05-25 点击:

1、from

1.1单表查询

from eg.cat as cat.其中,cat只是一个别名,为了用其他子语句的时候书写简单。 数据挖掘研究院

1.2多表查询 数据挖掘研究院

from eg.Cat,eg.Dog

from eg.Cat as cat,eg.Dog as dog 数据挖掘研究院

数据挖掘研究院



2、join相关 数据挖掘研究院

(inner) join

left (outer) join

right (outer) join

full join 数据挖掘实验室



HQL同样对SQL中的这些特性支持 数据挖掘研究院

下面插播一个小话题,关于上边的那些特性,我一直都没怎么用,今天既然说到这里,就想把上边的几个特性的用法说一下,也算对自己的一个补充:

假设有两个表:部门、员工,下面列举一些数据: 数据挖掘研究院

员工(Employee):

ID Name DepNo

001 Jplateau 01

002 Jony 01

003 Camel 02

部门(Department):

ID Name

01 研发部

02 营销部

数据挖掘研究院

在Hibernate中我们操纵的都是对象,所以我们操纵的是部门类和员工类 数据挖掘研究院

1)(inner) join

select employee.ID as id1,employee.Name as name1,department.ID as id2,

department.Name as name2 from Employee as employee join Department as department on

employee.DepNo=department.ID (注意到条件语句我用on 没有用where)

数据挖掘实验室


那么执行结果是什么呢?

id1 name1 id2 name2

++++++++++++++++++++++++++++++++++++++

001 Jplateau 01 研发部

002 Jony 01 研发部

数据挖掘研究院
数据挖掘研究院

2)left (outer) join

select employee.ID as id1,employee.Name as name1,department.ID as id2,

department.Name as name2 from Employee

as employee left join Department as department on employee.DepNo=department.ID 数据挖掘研究院

数据挖掘研究院


那么执行结果又该是什么呢?

数据挖掘研究院

id1 name1 id2 name2

++++++++++++++++++++++++++++++++++++++

001 Jplateau 01 研发部

002 Jony 01 研发部

003 Camel null null 数据挖掘研究院

数据挖掘研究院

{就是说此时我要以第一个表的记录多少为准,第二个表中没有相应纪录的时候填充null}

3)right (outer) join

数据挖掘研究院

select employee.ID as id1,employee.Name as name1,department.ID as id2,

department.Name as name2 from Employee as employee right join Department

as department on employee.DepNo=department.ID 数据挖掘研究院

数据挖掘研究院

那么执行结果又该是什么呢? 数据挖掘研究院

id1 name1 id2 name2

++++++++++++++++++++++++++++++++++++++

001 Jplateau 01 研发部

002 Jony 01 研发部

null null 02 营销部 数据挖掘研究院

数据挖掘研究院

{就是说此时我要以第二个表的记录多少为准,第一个表中没有相应纪录的时候填充null}

数据挖掘研究院

3、大小写敏感

数据挖掘研究院

4、select语句

数据挖掘研究院

就是要确定你要从查询中返回哪些对象或者哪些对象的属性。写几个例子:

select employee form Employee as employee

select employee form Employee as employee where employee.Name like "J%"

select employee.Name form Employee as employee where employee.Name like "J%"

select employee.ID as id1,employee.Name as name1,department.ID as

id2,department.Name as name2 from Employee as employee right join Department

as department on employee.DepNo=department.ID

数据挖掘研究院

数据挖掘研究院

select elements(employee.Name) from Employee as employee 数据挖掘实验室

(不明白elements到底是做什么用的?望给于说明)等等

数据挖掘实验室


共2页: 1 [2] 下一页
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?
热点关注
相关文章