当前位置:首页 > 2.0 Oracle初级(查询)
基本查询操作
1.简单的数据查询语句
语法:SELECT * |列名1,[列名2,列名3,?.] FROM 表名 *:表示查询所有列的信息 列名:查询某列的信息
Eg1.查询所有的员工的全部信息 SELECT * FROM emp;
Eg2.查询员工的姓名和工作职位 SELECT ename,job FROM emp; 分号不属于SQL语句的组成部分,SQLPLUS中表示一条SQL命令的结束
Eg3.要求姓名与工作以中文的形式显示。(给列起别名) SELECT ename 姓名,job 工作职位 FROM emp; 1.别名可以使用双引号引起来,也可以不用。 SELECT ename \姓名\工作职位\2.指定别名也可以使用as关键字
SELECT ename as \姓名\工作职位\指定别名尽量的避免使用中文。
Eg4.查询每个员工的职位(去掉重复的行记录) SELECT job FROM emp; SELECT DISTINCT job FROM emp; 排重操作使用关键字DISTINCT(distinct) 语法:SELECT [DISTINCT] *|列名 FROM 表名
对于查询多列时,只有所有的列都重复时才会去掉重复的行。DISTINCT对它后面的有列起作用。
Eg5.查询所有员工的基本信息,并且显示效果是: 编号是7369,姓名是SMITH,工作职位是CLERK
SELECT '编号是'||empno||'姓名是'||ename||'工作职位是'||job FROM emp; 1.Oralce中用单引号表示字符串。 2.Oralce中用“||”来拼接字符串。
Eg6.查询所有员工的姓名与年薪。 每月300交通费+一个月工资
SELECT ename,sal*12 income FROM emp; SELECT ename,(sal+300)*12+sal income FROME emp; 1.在查询语句中可以四则运算符。(+ - * /)
2.像sal*12这一列意义不明确,最好起别名,别名尽量回避中文。
2.限定查询(条件查询)
SELECT [DISTINCT] * | 列名1 [别名1],列名2 [别名2]? FROM 表名 [WHERE 条件*] 条件为基本的表达式 > = <> and not or i
Eg1.要求查询职工编号为7788的员工信息。 SELECT * FROM emp WHERE empno=7788
Eg2.查询名字叫smith的员工信息
SELECT * FROM emp WHERE ename=’SMITH’ Oracle中是大小敏感的,所以要注意字符的大小写。
Eg3.查询工资高于1500的员工信息。 SELECT * FROM emp WHERE sal>1500
Eg4.查询职位是办事员或者是销售人员的全部信息,并且要求这些员工的工资大于1200。 SELECT * FROM emp WHERE (job=’CLERK’OR job=’SALESMAN’) AND sal>1200;
Eg5.查询员工编号不是7788的员工信息。 SELECT * FROM emp WHERE empno<>7788; SELECT * FROM emp WHERE empno!=7788; SELECT * FROM emp WHERE NOT empno=7788; Oracle条件查询可以作用= > >= < <= <> != ^=操作符
Eg6.查询姓名中包括A的员工信息
SELECT * FROM emp WHERE ename LIKE ‘A%’; SELECT * FROM emp WHERE ename LIKE ‘_A%’; SELECT * FROM emp WHERE ename LIKE ‘%A%’; SELECT * FROM emp WHERE ename LIKE ‘%%’; 查询全部 SELECT * FROM emp WHERE ename NOT LIKE ‘%A%’; 1.这种查询叫模糊查询。关键字使用like 通配符:“_”:只能通配当前位置的一个字符 “%”:可以通配任意多个字符。
“%%”匹配所有的内容。
2.LIKE可以使用在任何类型的字段上。
3.范围查询
Eg1.要求查询工资在1500到3000之间所有员工信息 SELECT * FROM emp WHERE sal>=1500 AND sal <=3000;
共分享92篇相关文档