首页 > 代码库 > Oracle的select使用

Oracle的select使用

1.select :

   语法:

select [distinct] {*,column [alias],...}

from table

 

注:[]括起来的内容代表可有可无

     * 代表所有列

    distinct关键字只能跟在select关键字之后

 

  select 子句后边指定要查询的列

  from    子句后边跟要查询的表

 

My name is first_name.last_name;

2.select语句可以对指定的列的所有值进行算术运算。

语法:

select col_name 运算符 数字

from tb_name;

 

注意:select语句永远不对原始数据进行修改。

 

3.给查询的列区别名

语法:

select old_column [as] new_column_name

from tb_name;

 

 

4.使用||可以使得多列的值或者列和特殊的字符串合并到一个列进行显示

语法:

select col_name||‘spe_char‘||col_name

from tb_name

‘spe_char‘:如果一个列的值要跟特殊的字符串连接显示,使用该语法。

 

5.null值得替换运算

语法:

select nvl(col_name,change_value)

from tb_name;

 

nvl2(col_name,不为空显示的值,为空显示的值);

6.使用distinct关键词,可以将显示中重复的记录只显示一条

语法:

select distinct col_name,col_name...

from tb_name;

 

注意1distinct关键词只能放在select关键词后面

如:select id,distinct title

    from s_emp;

该语句语法错!!!!!

注意2:如果distinct关键词后面如果出现多列,表示多列联合去重,即多列的值都相同的时候才会认为是重复的记录

test表:

id id2

1 2

1 3

2 4

3 4

3 4

select distinct id,id2

from test;

显示结果为:

id id2

1 2

1 3

2 4

3 4

7.sqlplus命令

a:在当前操作的命令行追加内容

a test

c: 在当前操作的命令行修改内容

c/old_char/new_char

clear buffer:清空当前缓存的命令

del:删除当前操作行

del line_num指定删除第几行

i:当前操作命令行的下一行插入内容

l:查看缓存命令

l line_num:查看指定的命令行

n text:替换第n行的整行内容

!:后面接终端命令 ------linux环境下

!clear:清屏 ///

$:后接终端命令

$cls ---------> windows环境下

/:执行缓存sql命令

 

save file_name:将缓存命令保存到file_name(append replace)

get file_name:将文件中的内容提取到sqlplus

start @ file_name:执行文件中的sql命令

edit file_name:使用终端设置好的vi编辑器编辑文件(对于windows使用的是notepad)

spool file_name   将接下来的sql语句以及sql的运行结果保存到文件中(append)

sql1

result1

sql2

result2

...

spool off  关闭spool功能

exit:退出

 

8.select id,last_name,first_name, salary, dept_id

  from s_emp;

 

  结果不好看,通过column使我们的显示界面好看。

 

colu last_name format a15;

colu first_name format a15;

 

Column 有没有改变数据表里数据啊,没有,它只是改变显示。它是不是SQL命令呢? 不是,它是sqlplus命令。除了刚才这个作用之外,

我们下面来看看它还有什么作用。

 

COLUMN last_name HEADING ‘Employee|Name‘ FORMAT A15

. last_name取别名为Employee|Name , 竖杠代表换行。

. A15表示十五个字节长,一短横杠就是一个字节长

 

COLUMN salary JUSTIFY LEFT FORMAT $99,990.00

. salary JUSTIFY LEFT : 仅仅改变列名显示为左齐

. FORMAT $99,990.00: 控制显示格式为前面加 $ , “,”为分隔符, 09代表数字(通配符)0表示替换对齐数值,位数不足会补足,可以混合使用.

 

COLUMN start_date FORMAT A8 NULL ‘Not hired‘

. 如果start_date值为空的话,显示为’Not hired;

. Format后不能直接跟null, 要先a8a10;

. NULL ‘Not hired‘nvl有点不同, nvl要求类型匹配

 

column 显示所有对列格式的设置情况

column last_name 显示对last_name列显示设置的情况

column last_name clear 删除对last_name列格式设置的情况

Clear column 清除所有column的格式设置

 

Column某列的格式设置,这里的列并不特定于某个表.

 

ex:

1234   column 99.99  -- > ###### //出错的时候不能显示,只是显示####

column columName 显示对列的限制

Oracle的select使用