(Oracle基础篇) Select检索数据

你猜 阅读:702 2021-04-01 10:25:01 评论:0

Select语句语法:

            Select语句是日常使用最多的语句,它以select开头。其中最重要的部分就是Select和From关键字,这两项是查询当中必须的部分,其他子句可以根据实际的需求进行变动。

            获取指定字段数据代码:

          
//查询指定字段数据实例代码: 
select vehicle.id,vehicle.empid,vehicle.deviceid,vehicle.ipaddress,vehicle.cph from vehicle


             获取所有字段数据代码:

//查询所有字段信息 
select * from vehicle


             使用别名代替表中的字段名

//别名代替表中字段名 
select vehicle.id as 编号,vehicle.deviceid as 设备编号,vehicle.ipaddress as 表名称,vehicle.cph as 姓名 from vehicle


             使用函数操作查询的字段

//使用Oracle数据库提供的subStr函数 
select vehicle.id,subStr(vehicle.deviceid,1,6) as 截取的手机号码,vehicle.ipaddress,vehicle.cph from vehicle


             去除检索数据中的重复记录

//使用distinct关键字去除数据表中的重复记录 
select distinct(vehicle.compid) as 部门Id from vehicle


 

减少数据的相关排序

      使用升序和降序处理数据

            可以使用升序和降序的方式对查询的数据进行排序,如果对某个字段使用Order  By子句而不使用指定的排序方式,那么它将以升序的方式排列指定字段的数据

//以Id的字段进行相关的排序工作(不指定排序,默认是升序排序) 
select * from vehicle order by id

            
            降序排练相关数据

//降序查询(id)字段 
      select * from vehicle order by id desc


            升序是将null值放在首位 和降序将null值房子末尾

//null值放在首位(升序) 
select * from vehicle order by id nulls first 
//null值放在末尾(降序) 
select * from vehicle order by id desc nulls last


使用where子句设置查询的条件

where条件子句可以使用的操作符主要有关系操作符、比较操作符和逻辑操作符

1、关系操作符包括:<、<=、>、>=、=、!=、<>.

2、比较操作符包括:

is null :如果操作数为Null返回True;

like :模糊查询

between ....and    :验证是否在范围之内

in: 在一系列值当中

 

3、逻辑操作符

and :并操作符

or :或操作符

not :反操作符

 

模糊查询数据:

_:可以代替一个字符

%:可以代替多个字符

//模糊查询+降序排序 
select * from vehicle  where cph like '王%' order by id desc


 

  专门针对null值的查询

//Null值查询+降序排序 
select * from vehicle where empid is null order by id desc


Group By和Having子句(注意:是函数结果的查询)

group by 子句和having子句同where 不一样,他们两个都用于组查询。

//vehicle 表使用count(*) 进行相关分组查询 
select count(*) from vehicle group by vehicle.compid 


子查询:子查询就是在嵌套查询,它是嵌套在另外一个语句中的select 语句。

           如果子查询返回的值是多行,那么需要用到In关键字。

//简单连接查询

select * from user_vehgroup where userid =(select userid from usermain where username='ceshi')


 

       

//子查询 in 关键子实例代码 
//查询该用户有多少个部门 
select user_vehgroup.vehgroupid from user_vehgroup where userid in (select usermain.userid from usermain where usermain.username='ceshi')


 

//子查询 any 和 some 关键子查询(显示满足子查询结果的任何一个) 
 select * from user_vehgroup where userid=some (select userid from usermain where username='ceshi')


连接查询

关系数据中允许表和表之间存在关系,这种关系可以把两个甚至多个表的数据联系在一起。利用这种关系,可以查询出符合条件的数据。

 

 

最简单的连接查询

          最简单的连接查询是利用逗号完成的,他利用逗号把From后的表名隔开,这种构成了最简单的连接查询,但是在这样做的意义不会太大。

select * from usermain,user_vehgroup


内连接

         内连接也称为简单连接,它会把两个或多个表进行连接,只能查询出匹配的记录,不匹配的记录将无法查出。

         1、等值连接(连接条件中使用“==”等号连接两个条件列表)

        

//等值连接 
select user_vehgroup.vehgroupid from usermain,user_vehgroup where usermain.userid=user_vehgroup.userid and usermain.username='ceshi'

         2、不等值连接(连接条件中使用“<”,“<=”,“>”,“>=”,“!=”,“between       and ”,“in ”等)

//不等值连接 
select user_vehgroup.vehgroupid from usermain,user_vehgroup where usermain.userid!=user_vehgroup.userid and usermain.username='ceshi'

 

外连接

        外连接分为左连接、右连接、全外连接。

        左连接:又称为左向外连接。使用左外连接的查询,返回的结果不仅仅是符合连接条件的行记录,还包括左边表的全部记录

       右连接:又称为右向外连接。使用右外连接的查询,返回的结果不仅仅是符合连接条件的行记录,还包括右边表的全部记录

       全外连接:又称为全外连接。返回匹配成功的记录,并返回左表未匹配成功的记录,也返回右表为匹配成功的记录。

 

 

 

 

 

 

                    

标签:oracle
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号