基本查询语句

host cls 清屏

 

show user 当前用户

 

select * from tab;

TNAME                          TABTYPE  CLUSTERID                              

------------------------------ -----------------                              

DEPT                           TABLE                                            

EMP                            TABLE                                           

BONUS                          TABLE                                           

SALGRADE                       TABLE                                            

 

SQL> --tab: 表(数据字典)

 

SQL> desc emp 查看表的结构

 

SQL> select * from emp;  查询所有员工的所有信息

 

SQL> set linesize 150  设置行宽

 

SQL> col ename for a8  设置列宽

 

SQL> col sal for 9999

 

SQL> /   执行上一条sql语句

 

SQL优化:

1. 尽量使用列名取代*(Oracle9i之后,一样),如果单纯用到*,数据库就要查询*代表什么列,这样效率低

SQL> select empno,ename,sal,sal*12

 2  formemp;  查询员工的员工号 姓名 月薪 年薪,这里from写错了

上一句是一个错误语句,改正的方法有两种

1、--c命令 change

SQL> 2 首先写2,表示第2行出现错误,回车后就后出现第二行

  2*form emp

SQL> c /form/from  c/要修改的/修改成什么

  2*from emp

         2、--ed命令 edit

SQL> ed  输入ed后就会自动打开一个记事本,将原有的sql语句返回,这样就能修改了因为已写入 file afiedt.buf,保存后DOS中就修改了,再执行就没问题了。

起别名的方式

         1、as “别名” 2、直接别名

  例:select empno as "员工号",ename "姓名",sal 月薪,sal*12 年薪* from emp

 

SQL> --DISTINCT:重复记录只取一次

SQL> select DISTINCT deptno from emp;   部门就没有重复的了

SQL> select DISTINCT deptno,job from emp;   如果要两列DISTINCT作用于后面所有的列,那么先是第一列没有重复的,再作用于第二列

算数运算符

SQL> select empno,ename,sal,sal*12,comm,sal*12+commfrom emp;

 

SQL语句中的null值

         1.  包含null的表达式都为null  只要是某一数据加减乘除null都为null

SQL> 2. null!=null   null不是0,要想成为0就要用到虑空函数nvl(a,b)如果a为空,就用b替换

例:1、select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0)* from emp 

这样即便列为null也没事,都替换为0了

2、查询奖金为null的员工select * from emp where comm=null;这样是查不出来的

这时要将sql改为select * from emp where comm is null

 

连接符 ||

显示Hello World

方式一:可以用到concat(a,b)连接函数,将ab连接  select concat('Hello',' World')from dual;

                            注:from dual  dual表是一个伪表,仅仅用于作显示

方式二:用连接符'||'来连接  select 'Hello'||'  World'  from dual;

 

Sql命令与sqlplus命令的区别

Sql中关键字不能缩写 是一种语言   sqlplus命令关键字可以缩写 是一种环境

 

save c:\aa.sql   将上一条sql存到c:\aa.sql

@c:\aa.sql   取出这个sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值