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. (转)网上总结的 NIPS 201 参会感受

    1. http://www.machinedlearnings.com/2016/12/nips-2016-reflections.html 2. http://blog.arpitmohan.com ...

  2. Linux GCC常用命令

    1简介 2简单编译 2.1预处理 2.2编译为汇编代码(Compilation) 2.3汇编(Assembly) 2.4连接(Linking) 3多个程序文件的编译 4检错 5库文件连接 5.1编译成 ...

  3. RDLC An unexpected error occurred while compiling expressions. Native compiler return value: '-1073741511'

    One of my web project, which has a rdlc file using some expressions, was working fine while developi ...

  4. CDN(翻译)

    http://dojotoolkit.org/documentation/tutorials/1.10/cdn/index.html 从CDN上加载dojo模块时非常有用的.从CDN上加载Dojo并同 ...

  5. 5. Longest Palindromic Substring

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...

  6. Install Maya 2015 x64 in CentOS 7

    Thanks for Must(QQ ID)'s big help for installing Maya in CentOS7. This is my steps for installing ma ...

  7. 使用log4net 日志输出到数据库MySQL

    使用Log4Net的输出日志到MySQL 使用步骤如下: 1. 添加引用Log4Net.dll, mysql.data.dll到工程中 note: mysql.data.dll 版本要高,最好到mys ...

  8. java 记事本 - 实例

    记事本记事本实例中使用了以下知识1.ui界面2.io流3.事件监听4.图形5.JFileChooser 类,用于打开文件,另存为文件.弹出文件选择器对话框 学习重点:JFileChooser,有很多方 ...

  9. Linux下lampp详解 (转)

    重要文件解释: ProFTPD:一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序,它是在自由软件基金会的版权声明(GPL)下开发.发布的免费软件,可以随意修 ...

  10. 【javascript杂谈】你所不知道的replace函数

    前言 最近在做面试题的时候总会用到这个函数,这个函数总是和正则表达式联系到一起,并且效果很是不错,总能很简单出色的完成字符串的实际问题,大家肯定都会使用这个函数,像我一样的初学者可能对这个函数的了解还 ...