ORCEL基本语句(三)

  1 COMMIT;
  2 --查询表内所有内容
  3 SELECT * FROM stu_info;
  4 --查询部分列,并赋予别名
  5 SELECT stu_id 学生标号,stu_name 学生姓名 FROM stu_info;
  6 --以下两种方式可在图形化界面修改数据,在显示界面要解锁
  7 --1、建议使用方法,可以多人同时使用
  8 SELECT ROWID,stu_id,stu_name FROM stu_info;
  9 --2、不建议使用,因为会占用表,其他人将不能使用
 10 SELECT * FROM stu_info FOR UPDATE;
 11 --合并语句的语法
 12 merge into 副表
 13 using 主表 on(主表.主键=副表.主键)
 14 when matched then
 15   更新语句
 16 when not matched then
 17   插入操作
 18 --查询job列不重复的内容
 19 SELECT DISTINCT job FROM emp;
 20 --连接符||的使用
 21 SELECT ‘姓名是: ‘ || ename || ‘.工作是:‘ || job as 个人信息 FROM emp;
 22 --在查询语句中,添加新列
 23 SELECT ename 姓名,sal 薪水,sal * 1.25 as 涨幅后的薪水 FROM emp;
 24 --带有条件的查询语句
 25 SELECT * FROM emp WHERE sal < 2000;
 26
 27 --查询工资大于1500而且有奖金的雇员信息
 28 SELECT *
 29   FROM emp
 30  WHERE sal > 1500
 31    AND comm IS NOT NULL;
 32 --查询工资不大于1500而且有奖金的雇员信息
 33 --方法一:
 34 SELECT *
 35   FROM emp
 36  WHERE sal <= 1500
 37    AND comm IS NOT NULL AND comm != 0;
 38 --方法二:
 39 SELECT *
 40   FROM emp
 41  WHERE not(sal > 1500)
 42    AND comm IS NOT NULL AND comm <> 0;
 43 --查询工资大于1500或者能有奖金的雇员信息
 44 SELECT *
 45   FROM emp
 46  WHERE sal > 1500
 47    OR comm IS NOT NULL;
 48
 49 --查询工资大于1500且小于3000的员工的信息
 50 --方法一:用逻辑运算符
 51 SELECT * FROM emp WHERE sal < 3000 AND sal > 1500;
 52 --方法二:用BETWEEN...AND
 53 SELECT * FROM emp WHERE sal BETWEEN 1500 AND 3000;
 54
 55 SELECT * FROM EMP;
 56 --查询入职时间在1980/12/1至1981/6/1之间的员工信息
 57 --方法一:用逻辑运算符
 58 SELECT * FROM emp WHERE hiredate < to_date(‘1981-6-1‘,‘yyyy-mm-dd‘) AND hiredate > to_date(‘1980-12-1‘,‘yyyy-mm-dd‘);
 59 --方法二:用BETWEEN...AND
 60 SELECT * FROM emp WHERE hiredate BETWEEN to_date(‘1980-12-1‘,‘yyyy-mm-dd‘) AND to_date(‘1981-6-1‘,‘yyyy-mm-dd‘);
 61
 62 --IN语句的使用
 63 SELECT * FROM emp WHERE empno NOT IN (7369,7469,7521);
 64 --LIKE 语句的使用(模糊查询)  %匹配0个或多个字符,_匹配一个字符
 65 SELECT * FROM emp WHERE ename LIKE ‘%L%‘;
 66 SELECT * FROM emp WHERE ename LIKE ‘_L%‘;
 67 --查询语句如无必要,要避免使用*
 68 --查询部门位置等于DALLAS的员工信息
 69 SELECT * FROM DEPT;
 70 SELECT * FROM emp WHERE deptno = 20;
 71 SELECT e.*,d.* FROM emp e,dept d WHERE e.deptno = d.deptno and d.deptno = 20;
 72 --通过子查询实现查询部门位置等于DALLAS的员工信息
 73 SELECT * FROM emp  WHERE deptno = (SELECT deptno FROM dept WHERE loc = ‘DALLAS‘);
 74 --exists(类似in操作,在数据量较大时,性能优于in)
 75 SELECT * FROM emp  WHERE EXISTS (SELECT deptno FROM dept WHERE emp.deptno = dept.deptno AND loc = ‘DALLAS‘);
 76 --对查询结果进行排序
 77 SELECT * FROM emp;
 78 SELECT * FROM emp ORDER BY empno DESC, ename DESC;
 79 --员工薪资涨幅25%后按照涨幅后的薪资降序排列
 80 SELECT e.*,e.sal*1.25 AS 涨幅后的薪水 FROM emp e ORDER BY 涨幅后的薪水 DESC;
 81 --按照索引排序(列的顺序)
 82 SELECT * FROM EMP ORDER BY 2;
 83 --查询本机时间
 84 SELECT sysdate FROM dual;
 85 --将enmae的内容改为小写,以及首字母大写
 86 SELECT ename,LOWER(ename) lowerEname,INITCAP(ename) initcapEname FROM emp;
 87 --TRIM 函数的使用(删除字符串中的某个字符,只能有一个字符)
 88 SELECT ename,TRIM(‘A‘ FROM ename) TrimEname FROM emp;
 89 --CONCAT函数的使用,连接两个字符串,只能是两个
 90 SELECT ename,job,CONCAT(ename,job) AS CAT FROM emp;
 91 --SUBSTR函数的使用,截取指定开始位置和指定长度的字符串
 92 SELECT ename,job,SUBSTR(ename,2,3) AS SUB FROM emp;
 93 --LENGTH函数,返回字符串的长度
 94 SELECT ename,job,LENGTH(ename) AS LEN1 FROM emp;
 95 --INSTR函数,返回特定字符串在指定字符串的索引位置,若没有出现返回0
 96 SELECT ename,job,INSTR(ename,‘AL‘) AS INS FROM emp;
 97
 98 --得到30号部门并且薪资降幅10%后无小数的员工信息
 99 SELECT e.*,TRUNC(sal*0.9) 取整降薪 FROM emp e WHERE deptno = 30;
100
101 --练习
102 --1.查询员工工资大于800的
103 SELECT * FROM emp WHERE sal > 800;
104 --2.查询1981/6/9之前入职的员工信息
105 SELECT * FROM emp WHERE hiredate < to_date(‘1981-6-9‘,‘yyyy-mm-dd‘);
106 --3.查询奖金为空的员工信息(包含列:姓名,薪资,奖金)
107 SELECT ename,sal,comm FROM emp WHERE comm IS NULL;
108 --4.查询奖金不为空的员工信息(包含列:姓名,职位,薪资,奖金)
109 SELECT ename,job,sal,comm FROM emp WHERE comm IS NOT NULL;
110
111 --5.查询员工姓名为WARD
112 SELECT * FROM emp WHERE ename = ‘WARD‘;
113
114 --6.查询员工薪资为1200并且职位是SALESMAN
115 SELECT * FROM emp;
116 SELECT * FROM emp WHERE sal = 1200 AND job = ‘SALESMAN‘;
117
118 --7.查询1981/6/9到1981/10/9入职的员工信息(包含列:姓名,职位,薪资,奖金,入职日期)
119 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‘);
120
121 --8.查询员工薪资为1200或者职位是MANAGER
122 SELECT * FROM emp WHERE sal = 1200 OR job =‘MANAGER‘;
123
124 --9.查询名字不等于WARD员工信息
125 SELECT * FROM emp WHERE ename <> ‘WARD‘;
126
127 --10.查询1981/6/9到1981/10/9入职的员工信息(包含列:姓名,职位,薪资,奖金,入职日期)--使用between and
128 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‘);
129
130 --11.模糊查询like
131 SELECT * FROM emp WHERE ename LIKE ‘_L%‘;
132
133 --12.查询姓名第三个字母是R的员工信息
134 SELECT * FROM emp WHERE ename LIKE ‘__R%‘;
135
136 --13.查询以T开头的第四个字母为N的员工信息
137 SELECT * FROM emp WHERE ename LIKE ‘T__N%‘;
138
139 --14.按照员工的部编号排序,查询出的列名:姓名,薪水
140 --升序
141 SELECT ename,sal,deptno FROM emp ORDER BY deptno;
142 --降序
143 SELECT ename,sal,deptno FROM emp ORDER BY deptno DESC;
144
145 --15.查询部门编号为20的员工,并按照薪资的降序排列
146 SELECT * FROM emp WHERE deptno = 20 ORDER BY sal DESC;
147
148 --16.将所有员工的薪资降薪23%后保留1位小数后显示出来
149 --部分产生小数点
150 SELECT e.*,TRUNC(sal*0.7745,1) as 降薪 FROM emp e;
时间: 2024-10-20 13:39:11

ORCEL基本语句(三)的相关文章

语句三 20140818

语句: 三.循环--反复执行某些代码 四要素:1.初始状态 2.循环条件 3.循环体 4.状态改变 for()内可有1-3个条件,条件之间用";"隔开. for(初始状态;循环条件;状态改变) { 循环体 } 例1:找出100以内与7有关的数值--穷举法 for (int i = 1; i <= 100; i++) { if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7) { Console.Write(i + "\t")

ORCEL基本语句(一)

--创建学生信息表,约束放在所有列定义之后 1 CREATE TABLE stu_info( 2 stu_id INTEGER, 3 stu_name NVARCHAR2(15) NOT NULL, 4 stu_sex CHAR(4) NOT NULL, 5 stu_age INTEGER NOT NULL, 6 stu_address NVARCHAR2(30) NOT NULL, 7 stu_email NVARCHAR2(30), 8 stu_tele INTEGER NOT NULL,

应用索引技术优化SQL 语句三

六.有关索引的几个问题 问题1,是否值得在identity字段上建立聚集索引.答案取决于identity 字段如何在语句中使用.如果你经常根据该字段搜索返回很少的行,那么在其上建立索引是值得的.反之如果identity字段根本很少在语句中使用,那么就不应该对其建立任何索引. 问题2,一个表应该建立多少索引合适.如果表的80%以上的语句都是读操作,那么索引可以多些.但是不要太多.特别是不要对那些更新频繁的表其建立很多的索引.很少表有超过5个以上的索引.过多的索引不但增加其占用的磁盘空间,也增加了S

ORACLE分页SQL语句三种分页技术

1.根据ROWID来分select * from t_xiaoxi where rowid in(select rid from (select rownum rn,rid from(select rowid rid,cid from t_xiaoxi  order by cid desc) where rownum<10000) where rn>9980) order by cid desc;执行时间0.03秒 2.按分析函数来分select * from (select t.*,row_

shell 条件测试语句三种方法

1.test -f file  2.[ -f file ] 3.[[ -f file ]] [ -f file1 -a -f file2]逻辑与[ -f file1 -o -f file2]逻辑或 [ -f file1] && [ -f file2 ] 一样的 字符串的操作最好加双引号 如-n -z == != 并且比较时等号两边要加空格 ###man test ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is fal

最最最最最最最最基础的C---数据类型与运算符,三种基本结构,语句

算法处理的对象是数据,数据是以某种特定的形式存在的 数据类型 1字节(byte)=8位 基本数据类型: 整型  (short2字节, int 4字节, long 4字节) 浮点型(float 4字节.double 8字节,long double 16字节) 字符型(char 8字节) 布尔型(bool true(1)&flase(0)) 枚举类型(enum) 构造数据类型:数组类型,    结构体类型(struct)  共用体类型(union) 其他:        指针类型(*)    空类型

JS基础(三)语句

一.判断语句(PS:一般情况下判断条件最终应该是一个布尔值.) 1.if语句 1)基本格式 if(判断条件){ 如果判断条件成立则执行的语句 }else{ 如果判断条件不成立则执行的语句 } 2)扩展格式(二路选择语句) if(判断条件){ 如果判断条件成立则执行的语句 }else{ 如果判断条件不成立则执行的语句 } 3)扩展格式2 if(条件1){ 如果条件1成立时执行的语句 }else if(条件2){ 如果前面的条件不成立,条件2成立时执行的语句 }...else{ 当所有条件不成立时执

TCL语句(三) -- 视图

一.含义 mysql 5.1版本出现的新特性,本身是一个虚拟表,它的数据来自于表,通过执行时动态生成 好处: 1.简化 sql 语句 2.提高了 sql 的重用性 3.保护基表的数据,提高了 安全性 二.创建视图 CREATE VIEW 视图名AS查询语句; 三.修改视图 方式一:create or replace view 视图名as查询语句; 方式二:语法:alter view 视图名as 查询语句; 四.删除视图 DROP VIEW 视图名,视图名,...; 五.查看视图 DESC 视图名

实验三:分别用for、while、和do-while循环语句以及递归方法计算n!,并输出算式

一.用while语句 二.用do-while语句 三.用for语句 四.总结 对于循环语句的使用不熟练,for循环语句屡次出错,但最后还是找到错误并将正确答案输出,while语句和do-while语句也不太熟练,最终经过和同学们的讨论得出正确的源代码,使得结果可以顺利输出.需要加强对循环语句的使用的训练. 原文地址:https://www.cnblogs.com/java199-yx/p/10596258.html