`
wangshuo1991
  • 浏览: 9803 次
  • 性别: Icon_minigender_1
  • 来自: 保定
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle入门02

阅读更多
1、 oracle端口号修改问题
如果用户要修改oracle的端口号需要超级管理员进行登录
登录的口令:sys
登录的密码:root 是设置的密码
连接的方式:sysDBA模式

第一步:获取端口号:
SQL> select dbms_xdb.getHTTPPort from dual;
GETHTTPPORT
-----------
       8080
第二步:设置端口号:
SQL> exec dbms_xdb.setHTTPPort(8088);
PL/SQL procedure successfully completed
第三步:重新获取
SQL> select dbms_xdb.getHTTPPort from dual;
GETHTTPPORT
-----------
       8088   //在这里发现oracle的端口号已经被修改了
2、 where子句
  第一:比较运算符:
操作符 含义
= 等于
> 大于
>= 大于等于
< 小于
<= 小于等于
<>、!= 不等于
案例:
1、 查询员工的姓名等于simth的员工信息
SQL> select * from emp where ename ='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 where sal>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 where sal>=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 where sal<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 where comm<=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 where comm<>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 where comm !=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 where sal 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 where deptno 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 where ename 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 where ename 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 where ename 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 where comm 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 where comm 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 where sal>=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 where sal >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 列表中的列排序

4、
5、 方法
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics