随笔全个人原创,转载请申明作者

1.1 Oracle数据库学习教程-基本的查询命令

Oracle数据库学习教程

基本的查询命令

1.基本语法

select *|列名 from 表名;

  1. * 即选择全部列:select * from emp;
  2. 选择需要的列名:select empno,empname from emp;(性能更优)
  3. 可以运算,比如sal是月月薪,年薪:select sal*12 from emp;
  4. 可以取别名:select sal*12 as "年薪" from emp;
  5. 取不重复:select DISTINCT empno,empname from emp;
    20211005002258

2.算数运算 + - * /

  • 乘除的优先级高于加减
  • 优先级相同时,按照从左至右运算
  • 可以使用括号改变优先级

3.NULL值问题

  • 问题一:包含NULL的表达式都为空

查询: 员工号、姓名、月薪、年薪、奖金、年收入。
SQL> select deptno, ename, sal, sal * 12, comm, comm+sal*12 from emp;
结果不正确。没有奖金的员工,年收入不正确。
20211005203238
解决:滤空函数nvl(a,b),如果a为NULL,返回b. nvl(comm,0)
20211005203454

  • 问题二:NULL != NULL

查询奖金为NULL的员工信息: SQL> select * from emp where comm = NULL; (SQL中不使用==)

解决:在SQL中,判断一值是否等于另外一值不用“=” 和“!=”而使用is和is not。
20211005203752

4.连接符

  1. '||'用于连接字符串
    SQL> select ename || ‘ is a ’ || ‘job’ from emp;
  2. 使用concat(),假如 ename 是 "emp name"
    SQL> select concat('emp',' name') from emp;
posted @ 2021-10-05 20:45  许小仙  阅读(128)  评论(0编辑  收藏  举报