COMMIT;
--查询表内所有内容
SELECT * FROM stu_info;
--查询部分列,并赋予别名
SELECT stu_id 学生标号,stu_name 学生姓名 FROM stu_info;
--以下两种方式可在图形化界面修改数据,在显示界面要解锁
--1、建议使用方法,可以多人同时使用
SELECT ROWID,stu_id,stu_name FROM stu_info;
--2、不建议使用,因为会占用表,其他人将不能使用
SELECT * FROM stu_info FOR UPDATE;
--合并语句的语法
merge into 副表
using 主表 on(主表.主键=副表.主键)
when matched then
更新语句
when not matched then
插入操作
--查询job列不重复的内容
SELECT DISTINCT job FROM emp;
--连接符||的使用
SELECT '姓名是: ' || ename || '.工作是:' || job as 个人信息 FROM emp;
--在查询语句中,添加新列
SELECT ename 姓名,sal 薪水,sal * 1.25 as 涨幅后的薪水 FROM emp;
--带有条件的查询语句
SELECT * FROM emp WHERE sal < 2000; --查询工资大于1500而且有奖金的雇员信息
SELECT *
FROM emp
WHERE sal > 1500
AND comm IS NOT NULL;
--查询工资不大于1500而且有奖金的雇员信息
--方法一:
SELECT *
FROM emp
WHERE sal <= 1500
AND comm IS NOT NULL AND comm != 0;
--方法二:
SELECT *
FROM emp
WHERE not(sal > 1500)
AND comm IS NOT NULL AND comm <> 0;
--查询工资大于1500或者能有奖金的雇员信息
SELECT *
FROM emp
WHERE sal > 1500
OR comm IS NOT NULL; --查询工资大于1500且小于3000的员工的信息
--方法一:用逻辑运算符
SELECT * FROM emp WHERE sal < 3000 AND sal > 1500;
--方法二:用BETWEEN...AND
SELECT * FROM emp WHERE sal BETWEEN 1500 AND 3000; SELECT * FROM EMP;
--查询入职时间在1980/12/1至1981/6/1之间的员工信息
--方法一:用逻辑运算符
SELECT * FROM emp WHERE hiredate < to_date('1981-6-1','yyyy-mm-dd') AND hiredate > to_date('1980-12-1','yyyy-mm-dd');
--方法二:用BETWEEN...AND
SELECT * FROM emp WHERE hiredate BETWEEN to_date('1980-12-1','yyyy-mm-dd') AND to_date('1981-6-1','yyyy-mm-dd'); --IN语句的使用
SELECT * FROM emp WHERE empno NOT IN (7369,7469,7521);
--LIKE 语句的使用(模糊查询) %匹配0个或多个字符,_匹配一个字符
SELECT * FROM emp WHERE ename LIKE '%L%';
SELECT * FROM emp WHERE ename LIKE '_L%';
--查询语句如无必要,要避免使用*
--查询部门位置等于DALLAS的员工信息
SELECT * FROM DEPT;
SELECT * FROM emp WHERE deptno = 20;
SELECT e.*,d.* FROM emp e,dept d WHERE e.deptno = d.deptno and d.deptno = 20;
--通过子查询实现查询部门位置等于DALLAS的员工信息
SELECT * FROM emp WHERE deptno = (SELECT deptno FROM dept WHERE loc = 'DALLAS');
--exists(类似in操作,在数据量较大时,性能优于in)
SELECT * FROM emp WHERE EXISTS (SELECT deptno FROM dept WHERE emp.deptno = dept.deptno AND loc = 'DALLAS');
--对查询结果进行排序
SELECT * FROM emp;
SELECT * FROM emp ORDER BY empno DESC, ename DESC;
--员工薪资涨幅25%后按照涨幅后的薪资降序排列
SELECT e.*,e.sal*1.25 AS 涨幅后的薪水 FROM emp e ORDER BY 涨幅后的薪水 DESC;
--按照索引排序(列的顺序)
SELECT * FROM EMP ORDER BY 2;
--查询本机时间
SELECT sysdate FROM dual;
--将enmae的内容改为小写,以及首字母大写
SELECT ename,LOWER(ename) lowerEname,INITCAP(ename) initcapEname FROM emp;
--TRIM 函数的使用(删除字符串中的某个字符,只能有一个字符)
SELECT ename,TRIM('A' FROM ename) TrimEname FROM emp;
--CONCAT函数的使用,连接两个字符串,只能是两个
SELECT ename,job,CONCAT(ename,job) AS CAT FROM emp;
--SUBSTR函数的使用,截取指定开始位置和指定长度的字符串
SELECT ename,job,SUBSTR(ename,2,3) AS SUB FROM emp;
--LENGTH函数,返回字符串的长度
SELECT ename,job,LENGTH(ename) AS LEN1 FROM emp;
--INSTR函数,返回特定字符串在指定字符串的索引位置,若没有出现返回0
SELECT ename,job,INSTR(ename,'AL') AS INS FROM emp; --得到30号部门并且薪资降幅10%后无小数的员工信息
SELECT e.*,TRUNC(sal*0.9) 取整降薪 FROM emp e WHERE deptno = 30; --练习
--1.查询员工工资大于800的
SELECT * FROM emp WHERE sal > 800;
--2.查询1981/6/9之前入职的员工信息
SELECT * FROM emp WHERE hiredate < to_date('1981-6-9','yyyy-mm-dd');
--3.查询奖金为空的员工信息(包含列:姓名,薪资,奖金)
SELECT ename,sal,comm FROM emp WHERE comm IS NULL;
--4.查询奖金不为空的员工信息(包含列:姓名,职位,薪资,奖金)
SELECT ename,job,sal,comm FROM emp WHERE comm IS NOT NULL; --5.查询员工姓名为WARD
SELECT * FROM emp WHERE ename = 'WARD'; --6.查询员工薪资为1200并且职位是SALESMAN
SELECT * FROM emp;
SELECT * FROM emp WHERE sal = 1200 AND job = 'SALESMAN'; --7.查询1981/6/9到1981/10/9入职的员工信息(包含列:姓名,职位,薪资,奖金,入职日期)
SELECT ename,job,sal,comm,hiredate FROM emp WHERE hiredate >= to_date('1981-6-9','yyyy-mm-dd') AND hiredate <= to_date('1981-10-9','yyyy-mm-dd'); --8.查询员工薪资为1200或者职位是MANAGER
SELECT * FROM emp WHERE sal = 1200 OR job ='MANAGER'; --9.查询名字不等于WARD员工信息
SELECT * FROM emp WHERE ename <> 'WARD'; --10.查询1981/6/9到1981/10/9入职的员工信息(包含列:姓名,职位,薪资,奖金,入职日期)--使用between and
SELECT ename,job,sal,comm,hiredate FROM emp WHERE hiredate BETWEEN to_date('1981-6-9','yyyy-mm-dd') AND to_date('1981-10-9','yyyy-mm-dd'); --11.模糊查询like
SELECT * FROM emp WHERE ename LIKE '_L%'; --12.查询姓名第三个字母是R的员工信息
SELECT * FROM emp WHERE ename LIKE '__R%'; --13.查询以T开头的第四个字母为N的员工信息
SELECT * FROM emp WHERE ename LIKE 'T__N%'; --14.按照员工的部编号排序,查询出的列名:姓名,薪水
--升序
SELECT ename,sal,deptno FROM emp ORDER BY deptno;
--降序
SELECT ename,sal,deptno FROM emp ORDER BY deptno DESC; --15.查询部门编号为20的员工,并按照薪资的降序排列
SELECT * FROM emp WHERE deptno = 20 ORDER BY sal DESC; --16.将所有员工的薪资降薪23%后保留1位小数后显示出来
--部分产生小数点
SELECT e.*,TRUNC(sal*0.7745,1) as 降薪 FROM emp e;

Orcle基本语句(三)的更多相关文章

  1. Orcle 查询语句

    首先,以超级管理员的身份登录oracle       sqlplus sys/bjsxt as sysdba   --然后,解除对scott用户的锁       alter user scott ac ...

  2. SQL分页语句三方案

    方法一: SELECT TOP 页大小 * FROM table1 WHERE id NOT IN ( SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id ...

  3. T-SQL查询语句(三):多表查询

    SQL查询语句<三>:多表查询 (也叫连接查询,此处为基于两个表的连接查询)如果一个查询需要对多个表进行操作就称为连接查询,连接查询的结果集或结果称为表之间的连接.连接查询实际上是通过各个 ...

  4. 数据库 数据库SQL语句三

    转换函数 to_char()字符串转换日期函数 --查询大于某个日期的员工信息 select * from emp where hiredate>to_date('1980-02-12','yy ...

  5. Orcle基本语句(六)

    -- Created on 2017/1/5 by ADMINISTRATOR DECLARE -- Local variables here i ; v_name ) := '张晓风'; v_age ...

  6. ORCLE基本语句(二)

    select语句的基本语法: [ORDER BY < COLUMN1, COLUMN2, COLUMN3...> [ASC 或 DESC]]

  7. Orcle常用语句

    在SQLPlus界面的操作语句: 查看\设置每行内显示的字符数:show\set linesize [linesize] 查看\设置一次显示的行数:show\set pagesize [pagesiz ...

  8. Orcle基本语句(一)

    --创建学生信息表,约束放在所有列定义之后 CREATE TABLE stu_info( stu_id INTEGER, stu_name NVARCHAR2() NOT NULL, stu_sex ...

  9. Orcle基本语句(五)

    --分页查询---begin --sqlserver top --mysql limit --oracle rownum(伪列),oracle中伪列(rownum,rowid) --查询工资为前五的信 ...

随机推荐

  1. gzip压缩及测试方法【转载】

    Nginx开启Gzip压缩大幅提高页面加载速度 http://www.veryhuo.com/a/view/51706.html 刚刚给博客加了一个500px相册插件,lightbox引入了很多js文 ...

  2. 如何对web.config进行加密和解密

    http://blog.csdn.net/jf_jifei/article/details/6527390 在WEB网站开发过程中,如果我们将数据库连接字符串封装到.DLL文件中,将会给数据库和程序的 ...

  3. Servlet、JSP中页面跳转的方式

    一.Servlet:当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面.1)  redirect 方式response.sendRedirect("success ...

  4. 结构体struct 与 联合union

    1.C语言中的结构体 1.1 定义 结构体是由一系列相同或不同类型的变量组成的集合. struct 结构体名{               //struct为关键字,“结构体名”为用户定义的类型标识. ...

  5. 将页面打印成excel

    在servlet中调用 try { File fileWrite = new File("D:/Write.xls"); fileWrite.createNewFile(); Ou ...

  6. MyBatis学习(四)、MyBatis配置文件

    四.MyBatis主配置文件 在定义sqlSessionFactory时需要指定MyBatis主配置文件: <bean id="sqlSessionFactory" clas ...

  7. vscode配置

    默认的挺难看的 颜色主题换成 Monokai Dimmed 用户设置 // 将设置放入此文件中以覆盖默认设置 { "editor.fontFamily": "Monaco ...

  8. SQLServer修改表所有者

    当用sp_adduser 对数据库进行添加用户之后.却出现了此对象 '表名' 无效的现象? 执行这个语句,就可以把当前库的所有表的所有者改为dboexec sp_msforeachtable 'sp_ ...

  9. C语言中,定义的含义?声明的含义?它们之间的区别是什么?

    在C语言中,对于定义和声明,也许我们非常的熟悉,但不一定真正的了解! 定义的含义:所谓定义,就是创建(编译器)一个对象,为这个对象分配一块内存空间并取名,也就是我们平常所说的变量名或对象名,一旦这个名 ...

  10. java对xml文件的读取

    <?xml version="1.0" encoding="UTF-8"?> <body> <names type="1 ...