用cmd访问oracle
sqlplus 用户名/密码@ip地址:1521/数据库名
比如 sqlplus scott/tiger@192.168.186.128:1521/orcl
Select语句的语法格式和实例
select * | {[DISTINCT] column | expression [alias] , ... } from table;
1、查询语法
select * | 列名 from 表名
2、别名用法
在查询的结果列中可以使用别名
select 列名 as "别名",列名 as "别名" ... from 表名;
别名中,有没有双引号的区别就在于别名中有没有特殊的符号或者关键字,以及as可以省略,推荐写全和加双引号,以免遇到双引号
3、消除重复的数据
select distinct * | 列名 , ... from emp;
使用distinct可以消除重复的行,如果查询多列的必须保证多列都重复才能去掉重复
4、查询中四则运算
查询每个员工的年收入(年薪+奖金)
select ename,sal,comm,sal*12+comm as "年收入" from emp;
上面我们发现奖金为null,年收入也跟着为null,所以我们的sql语句写错,那么问题出现在哪里了呢?其实这里牵扯到空值的问题
什么是空值?
空值是无效的,未指定的,未知的或不可预知的值
空值不是空格或者0
注意:包含null的表达式都为null
空值永远不等于空值
所以上面的sql语句要进行非空处理,非空处理函数有两个nvl和nvl2,这里我们用nvl(参数1,参数2),当参数1为null,就用参数2的值
select ename,sal,comm,sal*12+nvl(comm,0) as "年收入" from emp;
连接符 ||
字符串连接查询
查询员工的编号,姓名,和薪水
编号是:xxxx(编号)的xxxx(姓名)员工月薪为xxxx(薪水)
select '编号是' || empno || '的' || ename || '员工月薪为' || sal as "描述" from emp;
注意:连接符 || 连接字符串的时候一定要用单引号,别名一定要用双引号