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. Linux 命令行模式 你需要知道的那些事

    注: 安装软件 pip install + 软件名  例如: pip install xadmin 卸载软件 pip uninstall + 软件名 例如 pip uninstall xadmin 安 ...

  2. 开发时建议关闭chrome的缓存[Disable cache(while DevTools open)]

    问题:修改了css,JS后,chrome看不到效果 具体情景:最近在写一个PHPbbs,在写CSS时,习惯性的按F5刷新,firefox ie等,都能即时见到效果,唯独chrome 怎么都不行,想了想 ...

  3. 利用web工具splinter模拟登陆做自动签到

    首先,我需要的工具和组件有: Chrome浏览器 浏览器驱动ChromeDriver Python 3.5 Web应用测试工具Splinter 代码部分: from splinter import B ...

  4. firefox兼容性问题

    //innertext 火狐不同版本不兼容 document.getElementById("user-content").textContent=content; 博主使用的是最 ...

  5. 可以链接不同源的资源的html元素(能实现跨域)

    可以链接不同源的资源的html元素(能实现跨域): img.script.css.video.audio.object.embed.applet.@font-face.frame.iframe等. ( ...

  6. 远程连接Oracle时出现ORA-01034 和ORA-27101 的解决办法

    服务器本地连接自身没有问题,但远程客户端连接时报错,远程客户端使用tnsping也没有问题. cmd->tnsping 192.168.56.101:1521/ora11gR2 tnsping命 ...

  7. js post提交

    /* js跳转页面 url跳转地址,params参数列表 */ function Posturl(url,params){ //创建form表单 var temp_form=document.crea ...

  8. 症状解决,原因不详的用非默认管理权限账户登录COM注册成功但找不到类型问题

    http://social.msdn.microsoft.com/Forums/en-US/11f01ceb-52a4-438f-b7ef-727ce7a3e191/atl-project-in-vs ...

  9. Building good docker images

    The docker registry is bursting at the seams. At the time of this writing, a search for "node&q ...

  10. Spring事务管理(转)

    Spring是SSH中的管理员,负责管理其它框架,协调各个部分的工作.今天一起学习一下Spring的事务管理.Spring的事务管理分为声明式跟编程式.声明式就是在Spring的配置文件中进行相关配置 ...