初学SQL语句练习

--【1 】查询出每个月倒数第三天受雇的所有员工
SELECT * FROM EMP WHERE HIREDATE=LAST_DAY(HIREDATE)-2;

--【2 】找出早于30 年前受雇的员工
SELECT TO_CHAR(SYSDATE,‘YYYY‘)-TO_CHAR(HIREDATE,‘YYYY‘) 年数 FROM EMP WHERE TO_CHAR(SYSDATE,‘YYYY‘)-TO_CHAR(HIREDATE,‘YYYY‘) >30;

--【3 】以首字母大写的方式显示所有员工的姓名
SELECT ENAME, INITCAP(ENAME) FROM EMP;

--【4 】显示不带有‘R‘的员工的姓名
SELECT ENAME FROM EMP WHERE ENAME NOT LIKE ‘%R%‘;

--【5 】显示正好为5 个字符的员工的姓名
SELECT ENAME FROM EMP WHERE Length(ENAME)=5;

--【6 】显示所有员工姓名的前三个字符
SELECT ENAME, SUBSTR(ENAME,1,3) FROM EMP ;

--【7 】显示所有员工的姓名,用‘a‘替换所有的‘A‘
SELECT ENAME,REPLACE(ENAME,‘A‘,‘a‘)FROM EMP;

--【8 】显示满30 年的服务年限的员工的姓名和受雇日期
SELECT ENAME,HIREDATE FROM EMP WHERE TO_CHAR(SYSDATE,‘YYYY‘)-TO_CHAR(HIREDATE,‘YYYY‘) >30;

--【9 】显示员工的详细资料,按姓名排序
SELECT * FROM EMP ORDER BY ENAME;

--【10 】显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面
SELECT ENAME,HIREDATE FROM EMP ORDER BY HIREDATE;

--【11】显示所有员工的姓名,加入公司的年份和月份,按 受雇日期所月排序,若月份相同则将最早年份的员工排在最前面
SELECT ENAME,TO_CHAR(HIREDATE,‘YYYY‘),TO_CHAR(HIREDATE,‘MM‘) FROM EMP ORDER BY TO_CHAR(HIREDATE,‘MM‘), HIREDATE;

--【12】显示所有员工的姓名,工作,工资,按工作的降序排列,若工作相同则按工资排序
SELECT ENAME,JOB,SAL FROM EMP ORDER BY JOB DESC,SAL;

--【13】找出在(任何年份的)2月受聘的所有员工
SELECT * FROM EMP WHERE TO_CHAR(HIREDATE,‘MM‘)=2;

--【14】对于每个员工,显示其加入公司的天数
SELECT ENAME ,ROUND(SYSDATE-HIREDATE) FROM EMP

--【15】显示姓名字段的任何位置包含‘A’的所有员工的姓名
SELECT ENAME FROM EMP WHERE ENAME LIKE ‘%A%‘;

时间: 2024-08-03 09:42:04

初学SQL语句练习的相关文章

初学SQL语句练习2

-- 子查询 --单行子查询-- 查询出所有比雇员姓名为"CLARK "工资高的员工的信息 SELECT * FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME ='CLARK'); -- 查询工资高于平均工资的雇员名字和工资. SELECT ENAME,SAL FROM EMP WHERE SAL >(SELECT ROUND(AVG(SAL)) FROM EMP); --查询和 SCOTT 同一部门且比他工资低的雇

oracle sql语句运行效率

--当前执行sql语句 SELECT a.SID , a.SERIAL# , a.USERNAME , b.PARSE_CALLS , b.PARSING_SCHEMA_NAME , b.CPU_TIME / 1000000 , b.ELAPSED_TIME / 1000000 , b.DISK_READS , b.DIRECT_WRITES , b.BUFFER_GETS , a.event , b.sql_text , b.SQL_FULLTEXTFROM v$session a INNER

sql 语句之 case

case语句语法: --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 首先创建一张users表,其中包含id,name,sex三个字段,表内容如下: 复制代码 SQL> drop table users purge; drop table users p

用sql语句导出oracle中的存储过程和函数

用sql语句导出oracle中的存储过程和函数: SET echo off ; SET heading off ; SET feedback off ; SPOOL 'C:/PRC.SQL' replace SELECT CASE WHEN LINE = 1 THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN TEXT || CHR(10 ) || '/' ELSE TEXT END FROM USER_SOURCE A LEF

JDBC系列:(3)使用PreparedStatement执行sql语句

执行sql语句的接口 接口 作用 Statement接口 用于执行静态的sql语句 PreparedStatement接口 用于执行预编译sql语句 CallableStatement接口 用于执行存储过程的sql语句(call xxx) PreparedStatement Vs Statement 序号 不同 描述 1 语法不同 PreparedStatement可以使用预编译的sql,而Statment只能使用静态的sql 2 效率不同 PreparedStatement可以使用sql缓存区

【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建

数据库的创建和sql语句增删改查 1. 加载驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, name varchar(20), age integer ); 添加: insert into person(name, age) values('lisi', 19); 删除: delete from person where _id = 1; 修改: update person set name =

应用系统如何分析和获取SQL语句的执行代码

大部分开发人员都有这样一个需求,在程序连接数据库执行时,有时需要获取具体的执行语句,以便进行相关分析,这次我向大家介绍一下通用权限管理系统提供的SQL语句执行跟踪记录,直接先看看代码吧:(这个功能我也是在看底层代码时发现的) namespace DotNet.Utilities { /// <summary> /// SQLTrace /// 记录SQL执行 Global 中设置 BaseSystemInfo.LogSQL=true 可以开启跟踪记录 /// /// /// 修改纪录 ///

SQL 语句日期用法及函数

SQL 语句日期用法及函数 --DAY().MONTH().YEAR()——返回指定日期的天数.月数.年数:select day(cl_s_time) as '日' from class  --返回天select '月'=month(cl_s_time) from class  --返回月select '年'=year(cl_s_time) from class  --返回年 --DATEADD(datepart,number,date)——在日期上增加给定日期类型的数量:select date

标准sql语句,学习

标准SQL语句总结标准SQL语句总结,标准SQL语言基本上适用于下面所列出的数据库软件 ----------------------------------------------------------------------------- 数据库软件清单 A商业数据库软件如下 1.微软的MS SQL Server和Access 2.IBM的DB2,informax 3.Sybase的大型数据库ASE,中小型数据库ASA 4.甲骨文公司的Oracle8.0,oracle9i系列 5.Borla