(Oracle基础篇) Select检索数据
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'
外连接
外连接分为左连接、右连接、全外连接。
左连接:又称为左向外连接。使用左外连接的查询,返回的结果不仅仅是符合连接条件的行记录,还包括左边表的全部记录
右连接:又称为右向外连接。使用右外连接的查询,返回的结果不仅仅是符合连接条件的行记录,还包括右边表的全部记录
全外连接:又称为全外连接。返回匹配成功的记录,并返回左表未匹配成功的记录,也返回右表为匹配成功的记录。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。