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

时间:2022-05-28 03:47:47
其他:
计算机中的内存是线性的,一维。 length('')计算字符的个数,而不是字节的个数 Oracle中的日期类型和数值类型的数据可以做运算符(>,=,<,<>)比较 如果在启动Oracle数据库的时候出现了:ora-12514的错误编号的提示。
解决方案:
去Oracle安装目录下面找到:C:\oracle\product\10.2.\db_1\NETWORK\ADMIN目录下面:
找到:listener.ora文件和tnsnames.ora文件
修改文件的访问权限,管理员身份打开,
修改文件中的:Host:对应的数据为:自己电脑的IP:
如何修改:localhost 或者 127.0.0.1 或者 当前电脑的真是IP 、查询: 关键字 后面可以使用 select *、字段列表、表达式、函数、查询语句 from 表名、查询语句、视图列表 where (分组前)条件 group by 分组 having (分组后)条件 order by 排序 (升、降) 、Oracle中的4组模糊关键字 、like、not like 、is null、 is not null 、between and 、not between and 、in(a,b,c) not in(a,b,c) 、取别名:2中方式 、字段名 as 别名 举例:
select ename as 姓名 from emp;(推荐) select ename as "姓名" from emp;(不推荐) 、字段名 别名 举例:
select ename 姓名 from emp;(不推荐) 、数据的拼接:
拼接方式:
使用符号:|| 来拼接数据 举例:
select '姓名:'||ename||',薪水:'||sal as 员工薪水信息 from emp; 结果显示:
员工薪水信息
姓名:Jason ,薪水:
姓名:Jack , 薪水:
..... 说明:
()Oracle中的数据拼接和Java中的数据拼接:
Java中:
使用"+"
Oracle中:
使用||
():只有在2中情况下常用单引号:
、字符型数据
、日期型数据
、排序:order by asc:升序
desc:降序
默认是asc升序 ()、一次排序 使用:
order by 字段名 [asc/desc]; 或者 order by 表达式 [asc/desc]; ()、二次排序: 使用:
order by 字段名1 [asc/desc],字段名2 [asc/desc] ; 或者 order by 字段名1 [asc/desc],表达式 [asc/desc]; 说明:
Oracle中可排序的类型只有:数值型/日期型/字符型 、联合查询:union 说明:
、联合指的是表的上下拼接,不是列的拼接!
、使用三个一致条件:(数量一致,类型一致,顺序一致)。
、最终显示的列的列名按照第一个select的列为准! 使用举例:
select ename,sal as 薪水 from scott.emp where rownum<=
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 、查询指定条数的数据: 关键字:
rowid 行游标的值,行的地址,在遍历当前行之前就会有值!
rownum 当前行的一个伪列,
(伪列) 当查询发生时产生,查询结束时死亡! 特别说明:
rownum:只能使用:<和<=,
并且只有在:
select * from emp where rownum=;这种情况下才能使用= 举例:
需求:如何查取6-10行数据! SQL语句:
select * from scott.emp
where scott.emp.empno not in (select scott.emp.empno
from scott.emp where rownum<=)
and rownum<=; 信息提取:分页功能: select * from scott.emp
where scott.emp.empno not in (select scott.emp.empno
from scott.emp where rownum<=当前页码*每条显示页数)
and rownum<=每页条数; 、给表取别名:
方法很简单:
格式:
表名 别名
特别注意:
在查询语句中,对表取别名之后,就不能再用表名了,应该用刚取好的别名!