【考试】简单的sql语句

1)显示正好为5个字符的员工的姓名
HR@ORA11GR2>select last_name,first_name from employees
  2  where length(first_name) = 5;
2)显示不带有"R"的员工的姓名.
HR@ORA11GR2>select last_name,first_name from employees
  2  where first_name not like ‘%R%‘;
3)显示所有员工的姓名,用a替换所有"A"
HR@ORA11GR2>select replace (first_name,‘A‘,‘a‘) from employees;
4)显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序
HR@ORA11GR2>select last_name,first_name,job_id,salary from employees
  2  order by job_id desc,salary;

5)显示在一个月为30天的情况所有员工的日薪金,忽略余数.
HR@ORA11GR2>select last_name,first_name,trunc(salary/30) daysal from employees;

6)找出员工名字中含有a和e的
HR@ORA11GR2>select distinct(first_name) from employees
  2  where first_name like ‘%a%‘ and first_name like ‘%e%‘;
7)select语句的输出结果格式如下:
select * from hr_departments;
select * from hr_emp;
select * from hr_region;
…….
Departments是表名,可以查询tab
HR@ORA11GR2>select ‘select * from ‘||‘hr_‘||tname||‘;‘ as select_from_hr_table from tab where tabtype=‘TABLE‘;

7)要求基本工资大于1500,同时可以领取奖金的雇员信息
HR@ORA11GR2>select * from employees
  2  where salary > 1500 and commission_pct is not null;
8)要求显示所有雇员的姓名及姓名的后3个字符
HR@ORA11GR2>select first_name,substr(first_name,-3,3) from employees;

9)求出每个雇员的年薪(应算上奖金)注意处理Null值
HR@ORA11GR2>select last_name,first_name,(salary+salary*nvl(commission_pct,0))*12 yearsal from employees;
10)以年月日方式显示所有员工的受聘日期。
HR@ORA11GR2>select last_name,first_name,to_char(hire_date,‘yyyy-mm-dd‘)
  2  from employees;
11)用concat显示所有员工的姓名全称
HR@ORA11GR2>select concat (first_name || chr(32),last_name) from employees;
12)显示所有员工姓名(last_name)倒数第三个字符。
HR@ORA11GR2>select first_name,substr(first_name,-3,1) ename from employees;
13)Hr用户下拼接sql显示如下格式内容:注:index_name字段可以从user_indexes中查询
Alter index “index_name” rebuild;

HR@ORA11GR2>select ‘alter index ‘||index_name||‘ rebuild‘ from user_indexes;

15)查员工表显示如下信息:年终奖是工资+奖金
部门号    姓名    年终奖

HR@ORA11GR2>Select department_id,first_name,last_name,(salary+salary*nvl(commission_pct,0)) commission from employees;

16)显示整个公司的最高工资、最低工资、工资总和、平均工资,保留到整数位。
HR@ORA11GR2>select max(nvl(salary,0)) maxsal,min(nvl(salary,0)) minsal,sum(nvl(salary,0)) sumsal,trunc(avg(nvl(salary,0))) avgsal
  2  from employees;

    MAXSAL     MINSAL     SUMSAL     AVGSAL
---------- ---------- ---------- ----------
     24000       2100     691416       6461
17)哪些部门的人数比32号部门的人数多
SCOTT@ORA11GR2>select deptno,count(empno)
  2  from emp
  3  group by deptno
  4  having count(empno) > (select count(empno) from emp where deptno = 10);
18)查询出比7654工资要高的全部雇员的信息
SCOTT@ORA11GR2>select * from emp
  2  where sal > (select sal from emp where empno = 7654);
19)要求查询工资比7654高,同时与7788从事相同工作的全部雇员
SCOTT@ORA11GR2>select * from emp
  2  where sal > (select sal from emp where empno = 7654)
  3  and deptno in (select deptno from emp where empno = 7788);

20)哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序)
HR@ORA11GR2>select last_name,first_name,salary from employees
  2  where salary > (select avg(salary) from employees)
  3  order by salary desc;
21)列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
SCOTT@ORA11GR2> select a.dname,b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal,b.deptno
  2  from dept a left join emp b on a.deptno=b.deptno;
22)查询每个员工的领导是谁(自连接)。
SCOTT@ORA11GR2>select a.ename as clerk,b.ename as boss from emp a,emp b where a.mgr=b.empno;
23)要求查询雇员的编号、姓名、部门编号、部门名称及部门位置
SCOTT@ORA11GR2>select e.empno,e.ename,d.deptno,d.dname,d.loc from emp e,dept d where e.deptno=d.deptno;
时间: 2024-12-13 05:11:04

【考试】简单的sql语句的相关文章

一些简单的SQL语句

简单的SQL入门 一,简介 1,  一个数据库包含一个或多个表,表包含带有数据的记录(行) 2,  SQL对大小写不敏感,语句的分号看具体情况 二,语法 1,  数据操作语言:DML a)         SELECT:从数据库获取数据 b)         UPDATE:更新数据库表中的数据 c)         DELETE:从数据库中删除数据 d)         INSERT INTO:向数据表中插入数据 2,  数据定义语言:DDL a)         CREATE DATABASE

tp5 r3 一个简单的SQL语句调试实例

tp5 r3 一个简单的SQL语句调试实例先看效果核心代码 public function index() { if (IS_AJAX && session("uid")==1){ $sql=input("post.sql"); $sql=base64_decode($sql); if ($sql){ if (preg_match('/INSERT INTO|DELETE|UPDATE\s/i', $sql, $info)){ $result=\th

四种简单的sql语句(增删改查语句)

四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 delete from [table] where column = ? 三.修改语句 update [table] set column = ? where column = ? 四.查询语句 1)查询单条记录的所有字段 select * from [table] where [column] = ? 2

整理的一些简单的sql语句

前几天整理了简单的sql语句,不太全,,会慢慢整理的. 有什么不对的地方,请指正,因为我也在用这些命令. 谢谢! create database 库名:创建数据库 show databases; 查看数据库 use 库名: 进入去数据库 show tables:查看表的数据 drop database 库名:删除数据库 create table epm[表名](ename[列名] varchar(10),sal[列名]date,aaa[列名]int(2)):创建表 desc 表名:查看表的内容

数据库学习之简单的SQL语句

1.数据库的结构 1.1数据库 不同数据库叫做Catalog(在有的 DBMS 中也称为 Database,即数据库) .採用多 Catalog 以后能够给我们带 来例如以下优点: 便于对各个 Catalog 进行个性化管理. DBMS 都同意我们指定将不同的 Catalog 保存在不 同的磁盘上, 因为人力资源数据相对次要一些, 因此我们能够将 HR 保存在普通硬盘上. 而将 BIZ 保存在 RAID 硬盘上. 我们还能够对每一个 Catalog 所能占领的最大磁盘空间.日 志大小甚至优先级进

简单的SQL语句

说明:SQL语句大小写都可以,执行一句时,后面可不加分号,如果同时执行两句,就必须加分号,不然会报错. --+空格  是SQL的注释 表格名为users,里面有name和age属性 一.增 insert into INSERT INTO users (name,age) values('张三',25); 可以写insert into,也可以只写insert 二.删 delete form DELETE FROM users WHERE name="张三": where是用来判断的,类似

简单操作sql语句-提升我们工作效率(网站关键词替换sql语句)

有时候要批量修改一些内容真不容易 一个一个改一天过去了,但当你学会了使用sql 语句操作 一秒就可以搞定.所以减少我们工作量我们必需要学会提高工作效率. 可批量修改就这么轻松可以实现. update 表名 set article =(REPLACE(列名,'需要替换的内容','替之后的内容'))

JDBC之java数据库的连接与简单的sql语句执行

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Test { /** * @param args */ public static void main(String[] args) { /*这部分是用java驱动连接oracle数据库,驱动的jar可以自己在网上下载,也可以给我留言,发给你*/

java JDBC-statement接口实现简单的sql语句调用

public class Demo2 { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","dyl123"); //使用statem