Oracle查询语句面试题
01. 查询员工表所有数据,并说明使用*的缺点 select * from emp; 01.查询职(job)为
查询员工表所有数据,并说明使用*的缺点
select * from emp;
查询职(job)为'PRESIDENT'的员工的工资
select sal from emp where job='PRESIDENT';
【专题推荐】:2020年oracle面试题汇总(最新)
02.查询佣金为0或为null的员工的信息
select * from emp where comm is null or comm=1;
03.查询入职日期在1981-5-1到1981-12-31之间的所有员工的信息
select * from emp where hiredate between to_date(‘1-5月-81’) and to_date(‘31-12月-81’)
04..查询所有名字长度为4的员工的员工的编号,姓名
select empno,ename from emp where length(ename)=4
05.显示10号部门饿所有经理和20号部门的所有员工
select * from emp where job='MANAGER' and deptno=10 or job='CLERK' and deptno=20;
06.显示姓名没有'L'字的员工的详细信息或含有'SM'字的员工信息
select * from emp where ename not like '%L%' or ename like '%SM%';
07.显示各个部门经理的工资
select deptno,sal from emp where job='MANAGER';
08.显示佣金收入比工资高的员工的详细信息
select * from emp where comm>sal;
10.把hiredate列看做是员工的生日,求本月过生日的员工:
SQL> select * from emp where to_char(hiredate,'mm')=to_char(sysdate,'mm');
11.把hiredate列看做是员工的生日,求下月过生日的员工
SQL> select * from emp where to_char(hiredate,'mm')=to_char(add_months(sysdate,1),'mm');
12.求1982年入职的员工
SQL> select * from emp where to_char(hiredate,'yyyy')='1982';
hiredate是date类型的,1982是字符串类型的,类型匹配才可以
13.求1981年下半年入职的员工
select * from emp where hiredate between to_date('1981-7-1','yyyy-mm-dd') and to_date('1982-1-1','yyyy-mm-dd')-1;
注:to_char()函数和to_date()函数
to_char()
函数是把日期的类型转换为指定的格式
to_date()
是把字符串转换为日期类型
-1的原因是更精确
14.求1981年各个月入职的员工个数
SQL> select to_char(hiredate,'mm'),count(*) from emp where to_char(hiredate,'yyyy')='1981' group by to_char(hiredate,'mm') order by to_char(hiredate,'mm');
或
select to_char(hiredate,'mm'),count(*) from emp where to_char(hiredate,'yyyy')='1981' group by to_char(hiredate,'mm') order by to_char(hiredate,'mm');
PartII
01 .查询各个部门的平均工资
SQL> select deptno,avg(nvl(sal,0)) from emp group by deptno;
02.显示各种职位的最低工资
SQL> select job,min(sal) from emp group by job;
03.按照入职日期由新到旧排列员工信息
SQL> select hiredate from emp order by hiredate desc;
04.查询员工的基本信息,附加其上级的姓名(自关联)
SQL> select e.*,e1.ename from emp e,emp e1 where e.mgr=e1.empno;
05.显示工资比’ALLEN’高的所有员工的姓名和工作
SQL> select ename,sal from emp where sal>(select sal from emp where ename='ALLEN');
06.显示与scott从事相同工作的员工的信息(子查询)
SQL> select * from emp where job=(select job from emp where ename='SCOTT');
07.显示销售部(‘SALES’)员工的姓名
SQL> select e.ename from emp e inner join dept d on e.deptno=d.deptno where d.dname='SALES';
08.显示与30号门’MARTIN’员工工资相同的员工的姓名和工资
SQL> select ename,sal from emp where sal=(select sal from emp where deptno=30 and ename='MARTIN');
09.查询所有工资高于平均工资(包括所有员工)的销售人员
SQL> select * from emp where sal>( select avg(sal) from emp) and job='SALESMAN';
或
SQL> select * from emp where job='SALESMAN' and sal>(select avg(sal) from emp);
10.显示所有职员的姓名及其所在部门的名称和工资(表连接)
SQL> select e.*,e.sal,d.dname from emp e inner join dept d on e.deptno=d.deptno;
11.查询在研发部(RESEARCH)工作人员的编号,姓名,,工作部门,工作所在地
SQL> select e.empno,e.ename,d.dname,d.loc from emp e inner join dept d on e.deptno=d.deptno where dname='RESEARCH';
12.查询各个部门的名称和员工人数
select e.deptno,d.dname,count(*) from emp e inner join dept d on e.deptno=d.deptno group by e.deptno,d.dname
分析:
SQL> select d.dname from emp e inner join dept d on e.deptno=d.deptno group by e.deptno,d.dname; DNAME -------------- ACCOUNTING RESEARCH SALES SQL> select e.deptno,d.dname from emp e inner join dept d on e.deptno=d.deptno group by e.deptno,d.dname; DEPTNO DNAME ------ -------------- 10 ACCOUNTING 20 RESEARCH 30 SALES SQL> select e.deptno,d.dname,count(*) from emp e inner join dept d on e.deptno=d.deptno group by e.deptno,d.dname; DEPTNO DNAME COUNT(*) ------ -------------- ---------- 10 ACCOUNTING 3
13.查询各个部门员工工资大于平均工资(平均工资包括所有员工)的人数和员工职位(子查询)
SQL> select count(*),job from emp where sal>(select avg(sal) from emp) group by job;
14.查询工资相同的员工的工资和姓名(子查询)
SQL> select sal,ename from emp e where(select count(*) from emp where sal=e.sal group by sal)>1;
或
SQL> select e.sal,e.ename from emp e,emp e1 where e.sal=e1.sal and e.ename<>e1.ename;
相关学习推荐:oracle数据库学习教程

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

Die Volltext-Suchfunktionen von InnoDB sind sehr leistungsfähig, was die Effizienz der Datenbankabfrage und die Fähigkeit, große Mengen von Textdaten zu verarbeiten, erheblich verbessern kann. 1) InnoDB implementiert die Volltext-Suche durch invertierte Indexierung und unterstützt grundlegende und erweiterte Suchabfragen. 2) Verwenden Sie die Übereinstimmung und gegen Schlüsselwörter, um den Booleschen Modus und die Phrasesuche zu unterstützen. 3) Die Optimierungsmethoden umfassen die Verwendung der Word -Segmentierungstechnologie, die regelmäßige Wiederaufbauung von Indizes und die Anpassung der Cache -Größe, um die Leistung und Genauigkeit zu verbessern.

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

Der Unterschied zwischen Clustered Index und nicht klusterer Index ist: 1. Clustered Index speichert Datenzeilen in der Indexstruktur, die für die Abfrage nach Primärschlüssel und Reichweite geeignet ist. 2. Der nicht klusterierte Index speichert Indexschlüsselwerte und -zeiger auf Datenzeilen und ist für nicht-primäre Schlüsselspaltenabfragen geeignet.

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.
