oracle入门02
来源:互联网 发布:tensorflow 快速入门 编辑:程序博客网 时间:2024/06/11 02:28
1、oracle端口号修改问题
如果用户要修改oracle的端口号需要超级管理员进行登录
登录的口令:sys
登录的密码:root 是设置的密码
连接的方式:sysDBA模式
第一步:获取端口号:
SQL> selectdbms_xdb.getHTTPPort from dual;
GETHTTPPORT
-----------
8080
第二步:设置端口号:
SQL> execdbms_xdb.setHTTPPort(8088);
PL/SQL procedure successfullycompleted
第三步:重新获取
SQL> selectdbms_xdb.getHTTPPort from dual;
GETHTTPPORT
-----------
8088 //在这里发现oracle的端口号已经被修改了
2、where子句
第一:比较运算符:
操作符
含义
=
等于
>
大于
>=
大于等于
<
小于
<=
小于等于
<>、!=
不等于
案例:
1、 查询员工的姓名等于simth的员工信息
SQL> select * from emp whereename ='SMITH'; //注意字符与日期比较加单引号
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7369 SMITH CLERK 7902 1980-12-17 800.00 20
2、 查询薪资大于2975的员工信息
SQL> select * from emp wheresal>2975;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20
7839 KING PRESIDENT 1981-11-17 5000.00 10
7902 FORD ANALYST 7566 1981-12-3 3000.00 20
3、 查询薪资大于等于2975的员工信息
SQL> select * from emp wheresal>=2975;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7566 JONES MANAGER 7839 1981-4-2 2975.00 20
7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20
7839 KING PRESIDENT 1981-11-17 5000.00 10
7902 FORD ANALYST 7566 1981-12-3 3000.00 20
4、 查询薪资小于500的员工信息
SQL> select * from emp wheresal<500;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
2222 test test 7369 1992-12-12 100.00 100.00 20
5、 查询奖金小于等于500的员工信息
SQL> select * from emp wherecomm<=500;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30
7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30
2222 test test 7369 1992-12-12 100.00 100.00 20
6、 查询奖金不等于500的员工信息
SQL> select * from emp wherecomm<>500; //这里采用的是<>
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30
7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30
2222 test test 7369 1992-12-12 100.00 100.00 20
SQL> select * from emp wherecomm !=500; //这里采用的是!=
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30
7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30
2222 test test 7369 1992-12-12 100.00 100.00 20
第二:其它的比较运算符
操作符
含义
between 值1 and 值2
在两个值之间(包含边界但值2>值1)
In(set)
比配(set)中任意一个(但(set)最大值为1000)
Like
模糊匹配查询
Is null
空值
案例:
1、 查询员工的薪资在2975到5000之间的员工信息
SQL> select * from emp wheresal between 2975 and 5000; //包含边界值
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7566 JONES MANAGER 7839 1981-4-2 2975.00 20
7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20
7839 KING PRESIDENT 1981-11-17 5000.00 10
7902 FORD ANALYST 7566 1981-12-3 3000.00 20
2、 查询部门在10,20的所有员工信息
SQL> select * from emp wheredeptno in (10,20);
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7369 SMITH CLERK 7902 1980-12-17 800.00 20
7566 JONES MANAGER 7839 1981-4-2 2975.00 20
7782 CLARK MANAGER 7839 1981-6-9 2450.00 10
7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20
7839 KING PRESIDENT 1981-11-17 5000.00 10
7876 ADAMS CLERK 7788 1983-1-12 1100.00 20
7902 FORD ANALYST 7566 1981-12-3 3000.00 20
7934 MILLER CLERK 7782 1982-1-23 1300.00 10
2222 test test 7369 1992-12-12 100.00 100.00 20
3、 模糊比配查询
选择条件可以包含字符或数字:
a) % 代表零个或多个字符(任意个字符)。
S% :代表是s字符开头
%S:代表是S字符结尾
%S%:代表是包含S字符
b) _ 代表一个字符。
_S:代表第二个字符是S的。
c) %与_同时使用的情况
_s%第二个字符为S的匹配的
d) 可以使用 ESCAPE 标识符 选择‘%’和 ‘_’ 符号。回避特殊符号的:使用转义符。例如:将[%]转为[/%]、[_]转为[/_],然后再加上[ESCAPE ‘/’] 即可
案例:
3.1 查询员工名称以S字符开头的员工信息
SQL>select * from emp where ename like 'S%';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- ------------------ ------
7369 SMITH CLERK 7902 1980-12-17 800.00 20
7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20
3.2 查询员工名称以S字符结尾的员工信息
SQL> select * from emp whereename like '%S';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- ------------------ ------
7566 JONES MANAGER 7839 1981-4-2 2975.00 20
7876 ADAMS CLERK 7788 1983-1-12 1100.00 20
7900 JAMES CLERK 7698 1981-12-3 950.00 30
3.3 查询员工名称含有S字符的员工信息
SQL> select * from emp where ename like '%S%'; //S字符可以在任何位置
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- ------------------ ------
7369 SMITH CLERK 7902 1980-12-17 800.00 20
7566 JONES MANAGER 7839 1981-4-2 2975.00 20
7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20
7876 ADAMS CLERK 7788 1983-1-12 1100.00 20
7900 JAMES CLERK 7698 1981-12-3 950.00 30
3.4 查询员工名称第二个字符是I并且员工名称字符长度为6的员工信息
SQL> select * from emp whereename like '_I____';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- ------------------ ------
7934 MILLER CLERK 7782 1982-1-23 1300.00 10
3.5 查询员工名称第二个字符是I的员工信息
SQL> select * from emp whereename like '_I%'; //查询第二个字符为I,并且名称长度没有限制的员工信息
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- ------------------ ------
7839 KING PRESIDENT 1981-11-17 5000.00 10
7934 MILLER CLERK 7782 1982-1-23 1300.00 10
3.6 查询员工名称
3.7 查询员工名称
4、 is (not) null 空值查询
4.1 查询员工的奖金为空的用户(空值的理解:’’与0等都不是空值)
SQL> select * from emp wherecomm is null;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7369 SMITH CLERK 7902 1980-12-17 800.00 20
7566 JONES MANAGER 7839 1981-4-2 2975.00 20
7698 BLAKE MANAGER 7839 1981-5-1 2850.00 30
7782 CLARK MANAGER 7839 1981-6-9 2450.00 10
7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20
7839 KING PRESIDENT 1981-11-17 5000.00 10
7876 ADAMS CLERK 7788 1983-1-12 1100.00 20
7900 JAMES CLERK 7698 1981-12-3 950.00 30
7902 FORD ANALYST 7566 1981-12-3 3000.00 20
7934 MILLER CLERK 7782 1982-1-23 1300.00 10
3333 test 1992-12-12 30
11 rows selected
4.2 查询员工的奖金不为空的用户
SQL> select * from emp wherecomm is not null;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30
7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30
7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30 //看这里有个0.0的值
2222 test test 7369 1992-12-12 100.00 100.00 20
备注:重点理解空值的含义
第三:逻辑运算符
操作符
含义
and
逻辑并|与
or
逻辑或
not
逻辑否
案例:
1、 查询员工的薪资大于等于2000并且员工的名称中含有I字符的员工信息
SQL> select * from emp wheresal>=2000 and ename like'%I%';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7839 KING PRESIDENT 1981-11-17 5000.00 10
2、 查询员工的薪资大于等于2000或者员工的名称中含有I字符的员工信息
SQL> select * from emp wheresal >2000 or ename like'%I%';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7369 SMITH CLERK 7902 1980-12-17 800.00 20
7566 JONES MANAGER 7839 1981-4-2 2975.00 20
7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30
7698 BLAKE MANAGER 7839 1981-5-1 2850.00 30
7782 CLARK MANAGER 7839 1981-6-9 2450.00 10
7788 SCOTT ANALYST 7566 1982-12-9 3000.00 20
7839 KING PRESIDENT 1981-11-17 5000.00 10
7902 FORD ANALYST 7566 1981-12-3 3000.00 20
7934 MILLER CLERK 7782 1982-1-23 1300.00 10
3、 查询员工的职位job不在('CLERK','MANAGER','ANALYST')中的员工信息
SQL> select * from emp where job not in('CLERK','MANAGER','ANALYST');
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- -------------- ----------- --------- --------- ------
7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30
7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30
7839 KING PRESIDENT 1981-11-17 5000.00 10
7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30
2222 test test 7369 1992-12-12 100.00 100.00 20
6 rows selected
总结:运算符的优先级
1
算术运算符
2
连接符
3
比较符
4
Is[not] null 、like、 not in
5
Not between
6
Not
7
And
8
or
备注:可以使用括号改变优先级顺序
3、 Order by子句排序
a) ASC(ascend): 升序
b) DESC(descend): 降序
重点:ORDER BY 子句在SELECT语句的结尾
1、 升序
2、 降序
3、 按别名排序
4、 多列排序
5、 可以使用不在SELECT 列表中的列排序
- oracle入门02
- oracle入门02
- Oracle入门
- oracle入门
- oracle入门
- Oracle入门
- oracle入门
- oracle入门
- oracle入门
- oracle入门
- oracle入门
- oracle 入门
- Oracle入门
- oracle入门
- oracle入门
- oracle入门
- Oracle入门
- Oracle入门
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- 大数相加,这个写的相当给力,可以模仿
- Get relative path
- 大数相加,这个写的相当给力,可以模仿
- oracle入门02
- cmake 学习笔记(三)
- 第8章_字符串与文本I/O_正则表达式练习
- ORACLE入门03
- 应用系统移植到ARM9开发板
- oracle入门04
- 裸机系列——DMA工作
- oracle入门05
- 位运算符(按位与&、按位或|、按位异或^、按位取反~)在程序的多个判定中起的作用