当前位置:   article > 正文

人大金仓数据库的单表查询

人大金仓数据库的单表查询

人大金仓数据库的单表查询

查看表的内容

# 查询数据库的创建语句
\d exam.course
# 查询数据表中的数据
select * from exam.course ;
# 查询部分列
select id,name exam.couese;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在人大进仓数据库中双引号用于起别名使用而单引号则大部分用于数输出字符段使用

连接运算

# 字符串的连接
select iname || '的职称是' || title as "讲师信息" from exam.instructor;
  • 1
  • 2

算数运算符

# 日期运算符号
select current_date()+7 as nextwork;
# 表中数据的计算
select id+5 from t03^;
  • 1
  • 2
  • 3
  • 4

条件表达式

# 输出成绩信息成绩大于等于90 时输出高,成绩大于70并且小于90时输出中其他的输出低可以通过表达式case when 来实现
select sno,sno,score,case when score >= 90 then '高' when score <90 and score <=70 then '中' else '低' END as score_level from exam.score ;
  • 1
  • 2

where 子句

# where条件查询
select * from exam.score where score > 80;
# where条件查询
select * from exam.student where city='Beijing';
# 多条件查询
select * from exam.score where sno=1001 and score>85;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

逻辑运算

和其他语言一样逻辑运算包括与、或、非分别使用AND OR NOT 表示

逻辑运算的优化级NOT>AND>OR

# and优先于or(输出结果为1则表示最后的结果为True)
select 1 from dual where 1=1 or 1=0 and 1=0;
# not优先于and(输出为空则表示最后结果为FLASE)
select 1 from dual where not 1=0 and 1=0;
使用括号可以改变优先级
  • 1
  • 2
  • 3
  • 4
  • 5

模糊查询

# 使用百分号进行模糊查询
# 最前面的字符为B的
select * from exam.student where city like  'B%';
# 最后面字符为g的字符
select * from exam.student where city like '%g';
# 第二个字母为e
select * from exam.student where city like '_e%';

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

范围查询

# 时间范围查询
select * from exam.student where reg_date between '2021-01-01' and '2021-10-01';
  • 1
  • 2

空值查询

# 查询带有空值的数据
select * from exam.student where company is null;
  • 1
  • 2

order by 语句

# 升序使用asc(默认)
# 查询姓名按照入学事件查询
select sname from exam.student order by reg_date ;
# 使用关键字
select sname from exam.student order by reg_date asc;
# 使用别名进行排序
select sname as name,reg_date as date from exam.student order by date asc;
# 使用序号选择排序对象
select sname,reg_date from exam.student order by 2;
# 多列组合排序
select sname,reg_date,city from exam.student order by city,reg_date;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

限制返回行数

# 获取前两行
select sname from exam.student limit 2;
# 使用子查询的方式
select * from (select rownum rn, sname,city from exam.student) where rn<=3;
# 分页查询
select sname,city from exam.student offset 3 rows fetch next 3 rows only;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

去除重复值查询

select count(distinct city) from exam.student ;
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/980393
推荐阅读
相关标签
  

闽ICP备14008679号