Oracle中scott用户下基本表练习SQL语句

--选择部门中30的雇员
SELECT * from emp where DEPTNO=30;
--列出所有办事员的姓名、部门、编号
--采用内连接方式,也就是等值链接,也是最常用的链接
SELECT ename,empno,dname from emp e INNER JOIN
dept d on e.deptno=d.deptno where job=‘CLERK‘;
--找出佣金高于薪金的雇员
select * from emp where comm>sal;
--找出佣金高于薪金60%的雇员
select * from emp where comm>sal*0.6;
--找出部门10中所有经理和部门20中所有办事员
select * from emp where(deptno=10 and job=UPPER(‘manager‘))
or (deptno=20 and job=‘CLERK‘);
--找出部门10中所有经理和部门20中所有办事员,既不是经理也不是办事员,
--但是其薪金>=2000的所有雇员的资料
select * from emp where(deptno=10 and job=UPPER(‘manager‘))
or (deptno=20 and job=‘CLERK‘)
or (job<>upper(‘manager‘) and job<>upper(‘clerk‘) and sal>=2000);
--找出收取佣金的雇员的不同工作
select distinct job from emp where comm>0;
--找出不收取佣金或者是佣金低于100的雇员
select * from emp where nvl(comm,0)<100;
--找出各月最后一天受雇的所有雇员
select * from emp where hiredate=last_day(hiredate);
--找出早于25年之前受雇的员工
select * from emp
where "MONTHS_BETWEEN"(sysdate, HIREDATE)/12>25;
--显示只有首字母大写的所有雇员的姓名
--"INITCAP"(ch)函数是将每个单词的第一个字母大写,其他字母变为小写
select ename from emp where ename=initcap(ename);
--显示正好为6个字符的雇员的姓名
select ename from emp where length(ename)=6;
--显示不带有like的雇员的姓名
select ename from emp where ename not like ‘%R%‘;
--或者是这样写
select ename from emp where instr(ename,‘R‘)=0;
--显示所有雇员姓名的前三个字母
select substr(ename,1,3) from emp;
--显示所有雇员的姓名,用a替代A
select replace(ename,‘A‘,‘a‘) from emp;
--显示所有雇员的姓名以及满10年服务年限的日期
select ename ,add_months(hiredate,12*10) as 服务年限的日期 from emp;
--显示雇员的详细资料,按姓名排序
select * from emp order by ename ;
--显示雇员的姓名,根据其服务年限,将最老的的雇员排在最前面
select ename from emp order by hiredate desc;
--显示所有雇员的姓名、工作和薪金,按工作的降序排序,工作相同的按薪金进行升序排序
select ename,job,sal from emp order by job desc,sal asc;
--显示所有雇员的姓名和加入公司的年份和月份
--按雇员受雇日期所在月排序,将最早年份的项目排在最前面
select ename,"TO_CHAR"(hiredate,‘yyyy‘) as 年份,"TO_CHAR"(hiredate,‘mm‘) as 月份
from emp order by hiredate asc;
--显示在一个月为30天的情况下所有雇员的日薪金
select sal/30"日薪金" from emp;
--找出在任何年份2月受聘的所有雇员
select ename as 雇员姓名,hiredate as 受雇日期
from emp where to_char(hiredate,‘mm‘)=‘02‘;
--对于每个雇员,显示其加入公司的天数
select ename,sysdate-hiredate from emp;
--显示在姓名中包含有字母A的雇员的姓名
select ename from emp where ename like ‘%A%‘;
--或者
select ename from emp where instr(ename,‘A‘,1)>0;
--查看当前用户下的所有表
select * from tab;

时间: 2024-08-08 13:48:16

Oracle中scott用户下基本表练习SQL语句的相关文章

oracle中scott用户下四个基本表SQL语句练习

--选择部门中30的雇员SELECT * from emp where DEPTNO=30;--列出所有办事员的姓名.部门.编号--采用内连接方式,也就是等值链接,也是最常用的链接SELECT ename,empno,dname from emp e INNER JOINdept d on e.deptno=d.deptno where job='CLERK';--找出佣金高于薪金的雇员select * from emp where comm>sal;--找出佣金高于薪金60%的雇员select

oracle的scott用户下默认表

EMP(雇员表) NO        字段      类型              描述 1       EMPNO      NUMBER(4)       雇员编号 2       ENAME     VARCHAR2(10)  表示雇员姓名 3      JOB        VARCHAR2(9)    表示工作职位 4      MGR        NUMBER(4)      表示一个雇员的领导编号 5       HIREDATE   DATE           表示雇佣日期

Oracle导入SQL脚本执行 scott 用户下的表删除了

执行 .sql 文件时,应在 sqlplus  或 cmd 中执行,速度比plsql 中的command window 中书许多, scott 用户下的表删除了 可以执行如下 @D:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql

解决Oracle在scott用户下创建视图(VIEW)权限不足的方法

问题描述:在scott用户下创建视图的时候,报错:权限不足.(其他用户以此类推)解决方法: 以dba用户登录 [sql] view plain copy print? sqlplus / as sysdba 赋予scott用户创建VIEW的权限 [sql] view plain copy print? grant create view to scott 以scott用户登录oracle [sql] view plain copy print? conn scott/tiger 创建视图成功 [

Oracle查看某个用户下所有表的记录总数和所有表的字段总数、记录数

https://blog.csdn.net/zhihaoma/article/details/78607368 如我想查看用户M下的所有表的总记录数: SELECT SUM(num_rows) FROM SYS.ALL_TABLES T WHERE T.OWNER = 'M';1但是查出的不是实时记录数. 如果想查看用户M下所有表的字段总数: SELECT * FROM SYS.dba_TAB_columns T WHERE T.OWNER = 'M';1Oracle查询数据库中所有表的记录数:

oracle中scott用户的创建

原创作品,转载请在文章开头显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10046716.html 今天,接着上次的学习进度继续前进,在此过程中,使用scott用户登录时候显示scott用户不存在,于是进行scott用户的解锁操作 SQL> alter user scott account unlock;alter user scott account unlock           *第 1 行出现错误: ORA-01918: 用户 'SCO

统计一个数据库中,无记录的表的sql语句

2016-05-20 SQL Server数据库中统计无记录数的表 大家使用的时候,将sql脚本中的红色[TestDB] 换成你的目标数据库名称. 1 /************************************************************ 2 * Code formatted by SoftTree SQL Assistant ?v7.0.158 3 * Time: 2016/5/19 18:47:02 4 * Author:zhangcn 5 *******

Oracle数据库中SCOTT用户下的默认表

①EMP(雇员表): ②DEPT(部门表): ③BONUS(奖金表): ④SALGRADE(工资等级表):

Oracle 将 A 用户下所有表的增删改查 赋予 B 用户

第一步:创建用户 create user username identified by password; 第二步:给用户赋值接触锁定(仅仅赋予会话权限) grant create session to xxx; 第三步(登录所要访问表的用户(ytcj),执行如下语句,并把结果保存为sql文件): select 'GRANT ALL ON '||table_name||' to username;' from user_tables; 原文地址:https://www.cnblogs.com/l