Oracle_SQL(1) 基本查询

时间:2024-10-19 11:08:08

1.oracle的安装与卸载

2.PL/SQL Developer的安装

3.登陆PL/SQL Developer

4.SCOTT用户下表的介绍

5.基本查询语句
查询雇员的所有信息:
select * from emp;
*表示所有列
查询语句语法:
select *|列名,... from 表名;

6.返回指定列的查询语句
查询雇员的编号、姓名、工资
select empno,ename,sal from emp;
多个列之间用,分隔

7.去除重复行
查询所有职位:
select job from emp;
select distinct job from emp;
select distinct job,deptno from emp;
distinct后只跟一个列时去重效果最好,
distinct后跟多个列时,是对多个列值进行组合后再去重。

8.条件查询(查询满足特定条件的行)
查询工资大于1500的雇员信息,返回雇员编号、雇员姓名、工资
select empno,ename,sal from emp where sal>1500;
条件查询语法:
select *|列名 from 表名 where 条件;

9.比较运算符
> 大于
< 小于
= 等于
>= 大于等于
<= 小于等于
!=或者<> 不等于

10.IS NULL和IS NOT NULL
查询每月可以拿到奖金的雇员
select empno,ename,comm from emp where comm is not null;
查询没有奖金的雇员
select empno,ename,comm from emp where comm is null;
在数据库中null表示未知,和未知的值进行运算结果还是未知。
select empno,ename,sal,comm,sal+comm from emp;
sql语句支持加减乘除四则运算,运算符为:+,-,*,/

11.多条件查询(多条件之间的与and、或or、非not)
查询工资大于1500,并且小于3000的雇员
select empno,ename,sal,comm from emp
where sal>1500 and sal<3000;
查询工资小于1500,或者大于3000的雇员
select empno,ename,sal,comm from emp
where sal<1500 or sal>3000;
查询工资不小于1500的雇员
select empno,ename,sal,comm from emp
where not(sal<1500);

12.>= and <=的专用写法between...and...
查询工资大于等于1500,并且小于等于3000的雇员
select empno,ename,sal,comm from emp where sal>=1500 and sal<=3000;
select empno,ename,sal,comm from emp where sal between 1500 and 3000;

13.字符串比较
查询'SMITH'员工的所有信息
select * from emp where ename='SMITH';
字符串内是严格区分大小写的。

14.多个取值的查询
查询'SMITH'和'SCOTT'员工的所有信息
select * from emp where ename in ('SMITH','SCOTT');

15.不在多个取值内的查询
查询除了'SMITH'和'SCOTT'外其余员工的所有信息
select * from emp where ename not in ('SMITH','SCOTT');

16.模糊查询
模糊查询关键字like,
模糊查询匹配符_和%,其中_匹配一个字符,%匹配0个或多个字符,
模糊查询分类:右模糊,左模糊,全模糊。
查询姓名以'S'开头的所有雇员信息
select * from emp where ename like 'S%';
查询姓名以'S'结尾的所有雇员信息
select * from emp where ename like '%S';
查询姓名包含'S'的所有雇员信息
select * from emp where ename like '%S%';
查询雇员名字中第二个字符为“M”的雇员信息:
select empno,ename,sal from emp where ename like '_M%';
查询工资中包含5的雇员信息
select empno,ename,sal from emp where sal like '%5%';

17.对结果排序
排序语法:order by 列名1 asc/desc,列名2 asc/desc...
asc升序(默认升序),desc降序
查询雇员信息,并按工资降序输出:
select empno,ename,sal from emp order by sal desc;
查询工资大于1500的雇员信息,并按工资升序输出:
select empno,ename,sal from emp where sal>1500 order by sal;
查询部门编号为20和30的雇员信息,并按部门升序、工资降序输出:
select empno,ename,deptno,sal from emp
where deptno in (20,30) order by deptno,sal desc;
select empno,ename,sal from emp order by sal desc,empno;

1.cmd-----ping ip地址 查看网络问题,看能否ping通
2.cmd-----tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙 没有关闭
3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外
4.cmd----lsnrctl status lsnrctl是listener-control 监听器的缩写,查看监听的状态