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;

注意1:distinct关键词只能放在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: 控制显示格式为前面加 $ 符, “,”为分隔符, 0或9代表数字(通配符),0表示替换对齐数值,位数不足会补足,可以混合使用.

COLUMN start_date FORMAT A8 NULL ‘Not hired‘

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

. Format后不能直接跟null, 要先a8或a10;

. 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 显示对列的限制

时间: 2024-10-15 22:06:59

Oracle的select使用的相关文章

Oracle 数据库(oracle Database)Select 多表关联查询方式

Oracle数据库中Select语句语法及介绍 SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名2>[,…] [WHERE <筛选择条件表达式>] [GROUP BY <分组表达式> [HAVING<分组条件表达式>]] [ORDER BY <字段>[ASC | DESC]] 语句说明: []方括号为可选项 [GROUP BY <分组表达式&g

Oracle 查询(SELECT)语句(二)

?  简介 在前面的 Oracle 查询 SELECT 语句(一) 中介绍了 SELECT 常用的一些基本查询语法,接下来再来看 SELECT 更深入的一些查询功能和技巧,包括以下内容: 1.   All 与 Any 运算符 2.   分页查询(rownum) 3.   集合操作符(UNION.UNION ALL.INTERSECT.MINUS) 1.   All 与 Any 运算符 1)   All 运算符,表示满足给出列表中的所有值.通常用于以下场景: 1.   查出大于30号部门所有员工最

oracle中 SELECT INTO 和INSERT INTO ... SELECT区别

在Oracle中,将一张表的数据复制到另外一个对象中.通常会有这两种方法:insert into select  和 select into from. 前者可以将select 出来的N行(0到任意数)结果集复制一个新表中,后者只能将"一行"结果复制到一个变量中.这样说吧,select into是PL/SQL language 的赋值语句.而前者是标准的SQL语句. 做一个简单测试,我们就可以很容易地看出两者的差别. 首先,我们创建两个表,一个作为源表,一个作为目标表. create

Oracle给Select结果集加锁,Skip Locked(跳过加锁行获得可以加锁的结果集)

1.通过select for update或select for update wait或select for update nowait给数据集加锁 具体实现参考select for update和select for update wait和select for update nowait的区别 2.Skip Locked(跳过加锁行获得可以加锁的结果集) Skip locked是oracle 11g引入的. 通过skip locked可以使select for update语句可以查询出(

Oracle中Select语句完整的执行顺序

oracle Select语句完整的执行顺序: 1.from 子句组装来自不同数据源的数据: 2.where 子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7.使用order by对结果集进行排序.

如何让oracle的select强制走索

大多数情况下,oracle数据库内置的查询优化策略还是很成功的,但偶尔也有糊涂的时候,即使有索引,也会做全表扫描,可以参考以下语句的写法,强制让select语句使用索引. (注意:走索引不一定是最优的,不走索引不一定有问题,具体问题具体分析,看执行计划) 例如: select /*+INDEX(xe emp_postproperty)*/  * from xemployee xe where xe.POSTPROPERTY='1' 格式: 1./*+INDEX(xe emp_postproper

Oracle的select检索数据

--Select语法 select [distinct | All] select_list from table_list [where_clause] [group_by_clause] [Having condition] [order_by_clause] --语法说明 select:查询动作关键字,必须要有的. [distinct | All]:查询字段是否除重.Distinct除重,All全部查询. select_list:查询字段列表. From:关键字,必须要有. table_l

oracle 常用select sql语句

本人认为很实用的几条语句 1)select ... from ...into... 2)insert into ...select ... 3)select ...from ...left join ...on ... 4)case...when...then ...else ... end Java代码 select * from directory_type where (case when create_date is null then  sysdate  else create_dat

Oracle数据库select语句

select * from EMp--all data in EMP table select * from EMP where ename in('SMITH')--the data where ename is SNITH in the EMP table select ename||'is a' as INAME from EMP where eNAME = 'SMITH'--rename ENAME pius 'is a' to INAME select sal || '_'||enam