Oracle45道题测试你的SQL技能(oracle45道题)

Oracle45道题测试你的SQL技能

在Oracle数据库管理和开发中,熟练掌握SQL语言是必不可少的技能之一。通过编写SQL查询,可以从数据中提取需要的信息,并且对数据进行增删改查等操作。因此,测试自己的SQL技能非常重要。本文整理了Oracle45道题,涵盖了SQL语法、数据查询和数据操作等方面,供大家进行练习和测试。

一、SQL语法

1、查询所有表

“`sql

SELECT table_name FROM user_tables;


2、查询所有视图

```sql
SELECT view_name FROM user_views;

3、查询所有索引

“`sql

SELECT index_name, table_name FROM user_indexes;


4、查询所有用户

```sql
SELECT username FROM dba_users;

5、查询当前用户

“`sql

SELECT user FROM dual;


6、查询当前时间

```sql
SELECT SYSDATE FROM dual;

7、查询当前会话ID

“`sql

SELECT SYS_CONTEXT(‘USERENV’, ‘SID’) FROM dual;


8、查询当前用户的当前模式

```sql
SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') FROM dual;

9、查询当前数据库的版本

“`sql

SELECT * FROM v$version;


10、查询当前数据库的启动时间

```sql
SELECT startup_time FROM v$instance;

二、数据查询

1、查询员工姓名和部门名称

“`sql

SELECT e.ename, d.dname

FROM emp e, dept d

WHERE e.deptno = d.deptno;


2、查询平均工资最高的部门名称

```sql
SELECT d.dname, AVG(e.sal)
FROM emp e, dept d
WHERE e.deptno = d.deptno
GROUP BY d.dname
ORDER BY AVG(e.sal) DESC
FETCH FIRST 1 ROW ONLY;

3、查询每个部门的工资总额

“`sql

SELECT d.dname, SUM(e.sal)

FROM emp e, dept d

WHERE e.deptno = d.deptno

GROUP BY d.dname;


4、查询每个部门有多少员工

```sql
SELECT d.dname, COUNT(e.empno)
FROM emp e, dept d
WHERE e.deptno = d.deptno
GROUP BY d.dname;

5、查询工资排名前5的员工信息

“`sql

SELECT *

FROM (SELECT e.*, DENSE_RANK() OVER (ORDER BY e.sal DESC) AS sal_rank

FROM emp e)

WHERE sal_rank


三、数据操作

1、删除所有雇员记录

```sql
DELETE FROM emp;

2、清空表空间

“`sql

TRUNCATE TABLE emp;


3、更新所有雇员姓名

```sql
UPDATE emp
SET ename = 'NewName';

4、在表的末尾添加一条记录

“`sql

INSERT INTO emp(empno, ename, job, mgr, hiredate, sal, comm, deptno)

VALUES (8888, ‘NewEmployee’, ‘CLERK’, 7902, SYSDATE, 2000, NULL, 10);


5、在表的特定位置添加一条记录

```sql
CREATE SEQUENCE emp_seq START WITH 10000;
INSERT INTO emp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
VALUES (emp_seq.NEXTVAL, 'NewEmployee', 'CLERK', 7902, SYSDATE, 2000, NULL, 10);

以上就是Oracle45道题,希望对大家的SQL技能练习和提升有帮助。如果以上不够挑战你的SQL技能,可以去找更多的练习材料。同时,建议大家多写代码、多进行实践,以掌握更多的SQL语法和技巧。


数据运维技术 » Oracle45道题测试你的SQL技能(oracle45道题)