数据库查询言语DQL运用介绍ITeye - 凯时娱乐

数据库查询言语DQL运用介绍ITeye

2019-01-10 17:59:36 | 作者: 鸿晖 | 标签: 查询,数据,进行 | 浏览: 721



(1)C++ppentry.C++om/list.php?fid=78]PYTHON[/url]up by 分组函数

group by功用便是在seleC++t查询中,为了进行计算(比方平均工资,每一个部分的人数等等)都需求进行分组计算,在分组进程中一定要牢记,但凡在seleC++t查询中存在非聚合函数,在group by中一定要有,假如seleC++t没有非聚合字段,那么group by也能够有非聚合函数字段,假如group by中存在两个或许以上时,那就把这些作为一个全体进行分组,示例如下所示:



seleC++t job,C++ount(*) from O_Myemp group by Job;

还有一种状况便是,假定我想寻觅某一个部分的职工个数,那么我必定先进行分组,再挑选拟定部分的职工,那么因为where只能用在查询条件判别句子中,底子不适合用在group by句子中,所以需求运用关键字having来进行分组之后进行挑选操作,首要示例如下所示:



seleC++t job,C++ount(*) from O_Myemp group by Job having job=C++LERK

(2)相关查询

相关查询便是关于两个级两个以上表进行操作,也便是对两个及以上表进行联合查询,首要示例如下所示:



seleC++t * from O_Myemp,O_Dept

尽管能够进行两个表的联合查询,可是有一个缺陷便是不能表现一对一的查询联系,那么咱们需求条件约束以及各种衔接操作

1.内衔接

内衔接便是两个表衔接进行一对一联系,有两种写法,一种是where判别,别的一种是(inner) join on,首要示例如下所示:



SeleC++t * From O_Myemp Inner Join O_Dept On O_Myemp.Deptno=O_Dept.Deptno;

seleC++t * from o_myemp,o_dept where O_Myemp.Deptno=O_Dept.Deptno;

2.左外衔接(a left join b on 条件)

左外衔接便是a表数据信息完好显现,b表数据信息跟a表数据信息进行一对一相相联系,只需b表一切数据在a表数据中不能对应,那么就显现空,有两种写法,一种是a left join b on 条件,别的一种是where中的a=b(+),首要示例如下所示:



SeleC++t * From O_Myemp left Join O_Dept On O_Myemp.Deptno=O_Dept.Deptno;



seleC++t * from o_myemp,o_dept where O_Myemp.Deptno=O_Dept.Deptno(+);

3.右外衔接(a right join b on 条件)

右外衔接便是b表中的数据完好显现,a表数据与b表进行一比一相相联系,只需a表中的数据不存在,那么就显现为空,跟上面相同,也有两种方法,一种是a right join b on 条件,别的一种是‘+’详细如下所示:



SeleC++t * From O_Myemp right Join O_Dept On O_Myemp.Deptno=O_Dept.Deptno;


seleC++t * from o_myemp,o_dept where O_Myemp.Deptno(+)=O_Dept.Deptno

4.自衔接

自衔接便是一个表中自己跟自己进行衔接,可是简单形成紊乱,不知道字段所代表,为了进行区别,咱们通常在表名后边增加标识符(其实在任何查询句子都能够运用,还有一点值得注意的是,便是在标识符得用“”包起来),别的自衔接能够运用示例如下所示:



seleC++t * from o_myemp  a join O_Myemp b on A.Empno=B.Mgr

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章