您的位置:首页 > 数据库 > Oracle

数据库(学习整理)----4--Oracle数据查询(基础点1)

2016-07-15 17:53 741 查看
其他:
计算机中的内存是线性的,一维。

length('')计算字符的个数,而不是字节的个数

Oracle中的日期类型和数值类型的数据可以做运算符(>,=,<,<>)比较

如果在启动Oracle数据库的时候出现了:ora-12514的错误编号的提示。
解决方案:
去Oracle安装目录下面找到:C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN目录下面:
找到:listener.ora文件和tnsnames.ora文件
修改文件的访问权限,管理员身份打开,
修改文件中的:Host:对应的数据为:自己电脑的IP:
如何修改:localhost 或者 127.0.0.1 或者 当前电脑的真是IP

1、查询:

关键字        后面可以使用

select        *、字段列表、表达式、函数、查询语句

from            表名、查询语句、视图列表

where           (分组前)条件

group by        分组

having          (分组后)条件

order by         排序 (升、降)

2、Oracle中的4组模糊关键字

1、like、not like

2、is null、 is not null

3、between  and    、not  between  and

4、in(a,b,c)   not in(a,b,c)

3、取别名:2中方式

1、字段名 as  别名

举例:
select ename as 姓名 from emp;(推荐)

select ename as "姓名" from emp;(不推荐)

2、字段名  别名

举例:
select ename  姓名 from emp;(不推荐)

4、数据的拼接:
拼接方式:
使用符号:|| 来拼接数据

举例:
select '姓名:'||ename||',薪水:'||sal  as 员工薪水信息 from emp;

结果显示:
员工薪水信息
姓名:Jason ,薪水:10000
姓名:Jack , 薪水:20000
.....

说明:
(1)Oracle中的数据拼接和Java中的数据拼接:
Java中:
使用"+"
Oracle中:
使用||
(2):只有在2中情况下常用单引号:
1、字符型数据
2、日期型数据
5、排序:order by

asc:升序
desc:降序
默认是asc升序

(1)、一次排序

使用:
order by  字段名 [asc/desc];

或者

order by  表达式 [asc/desc];

(2)、二次排序:

使用:
order by  字段名1 [asc/desc],字段名2 [asc/desc] ;

或者

order by  字段名1 [asc/desc],表达式 [asc/desc];

说明:
Oracle中可排序的类型只有:数值型/日期型/字符型

6、联合查询:union

说明:
1、联合指的是表的上下拼接,不是列的拼接!
2、使用三个一致条件:(数量一致,类型一致,顺序一致)。
3、最终显示的列的列名按照第一个select的列为准!

使用举例:
select ename,sal as 薪水 from scott.emp where rownum<=2
union
select ename as 姓名,sal from scott.emp;
查询结果:
ENAME    薪水
ADAMS    1100.00
ALLEN    1600.00
BLAKE    2850.00
CLARK    2450.00
FORD    3000.00
JAMES    950.00

7、查询指定条数的数据:

关键字:
rowid   行游标的值,行的地址,在遍历当前行之前就会有值!
rownum  当前行的一个伪列,
(伪列)    当查询发生时产生,查询结束时死亡!

特别说明:
rownum:只能使用:<和<=,
并且只有在:
select * from emp where rownum=1;这种情况下才能使用=

举例:
需求:如何查取6-10行数据!

SQL语句:
select * from scott.emp
where  scott.emp.empno not in (select scott.emp.empno
from scott.emp where rownum<=5)
and rownum<=5;

信息提取:分页功能:

select * from scott.emp
where  scott.emp.empno not in (select scott.emp.empno
from scott.emp where rownum<=当前页码*每条显示页数)
and rownum<=每页条数;

8、给表取别名:
方法很简单:
格式:
表名  别名
特别注意:
在查询语句中,对表取别名之后,就不能再用表名了,应该用刚取好的别名!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: