数据库面试题题

这篇具有很好参考价值的文章主要介绍了数据库面试题题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题干:

-- 子查询
CREATE TABLE emp(
    empno        INT,
    ename        VARCHAR(50),
    job        VARCHAR(50),
    mgr        INT,
    hiredate    DATE,
    sal        DECIMAL(7,2),
    comm        DECIMAL(7,2),
    deptno        INT
) ;

INSERT INTO emp VALUES(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);
INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);
INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);
INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);
INSERT INTO emp VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30);
INSERT INTO emp VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30);
INSERT INTO emp VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10);
INSERT INTO emp VALUES(7788,'SCOTT','ANALYST',7566,'1987-04-19',3000,NULL,20);
INSERT INTO emp VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);
INSERT INTO emp VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30);
INSERT INTO emp VALUES(7876,'ADAMS','CLERK',7788,'1987-05-23',1100,NULL,20);
INSERT INTO emp VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30);
INSERT INTO emp VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20);
INSERT INTO emp VALUES(7934,'MILLER','CLERK',7782,'1982-01-23',1300,NULL,10);

select * from emp;


CREATE TABLE dept(
    deptno        INT,
    dname        VARCHAR(14),
    loc        VARCHAR(13)
);

INSERT INTO dept VALUES(10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO dept VALUES(20, 'RESEARCH', 'DALLAS');
INSERT INTO dept VALUES(30, 'SALES', 'CHICAGO');
INSERT INTO dept VALUES(40, 'OPERATIONS', 'BOSTON');

select * from dept;

要求:

-- 单行子查询(> < >= <= = <>)
-- 1.查询出高于10号部门的平均工资的员工信息


select empno, ename, sal from emp where sal > (select avg(sal) from  emp where deptno = 10);


-- 多行子查询(in  not in any all)
-- 2.查询出比10号部门任息何员工薪资高的员工信息
select *from emp where sal > any (select  sal from  emp where  deptno = 10);


-- 多列子查询(实际使用较少)
-- 3.和10号部门同名同工作的员工信息

SELECT * FROM emp WHERE (enameob)IN(SELECT ename,job FROM emp WHERE deptno=10) AND deptno!=1;


 -- select 后面接子查询    
-- 4.获取员工的名字和部门的名字
select p.ename,d.dname from emp p,dept d where p.deptno=d.deptno;


 -- from 后面接子查询
-- 5.查询emp表中经理信息
select * from  emp e,(select distinct mgr from emp) as jingli where e.empno=jingli.mgr;


 -- where 后面接子查询    
-- 6.薪资高于10号部门平均工资的所有员工信息
select * from emp where sal>(select avg(sal) from  emp where deptno=10);    


 -- group by 后面接子查询
-- 7.有哪些部门的平均工资高于30号部门的平均工资


 -- 8.工资>JONES工资
select* from emp where sal>(select sal from emp where ename='JONES');


 -- 9.查询与SCOTT同一个部门的员工
select * from emp where deptno = (select deptno from emp where ename='SCOTT') and ename!='SCOTT';


-- 10.工资高于30号部门所有人的员工信息
select * from emp where sal>(select max(sal) from emp where deptno=30);


-- 11.查询工作和工资与MARTIN完全相同的员工信息


-- 12.有两个以上直接下属的员工信息


-- 13.查询员工编号为7788的员工名称,员工工资,部门名称,部门地址
select e.* ,d.loc from emp e,dept d where e.empno=7788 and e.deptno=d.deptno;


-- SQL查询的综合案例
-- 14.查询出高于本部门平均工资的员工信息


-- 15.列出达拉斯加工作的人中,比纽约平均工资高的人


-- 16.查询7369员工编号,姓名,经理编号和经理姓名
select  mgr from emp where empno=7369;
select ename from emp where empno =(select mgr from emp where empno=7369);


-- 17.查询出各个部门薪水最高的员工所有信息


题干:

CREATE TABLE test(
NAME CHAR(20),
kecheng CHAR(20),
fenshu CHAR(20)
);

INSERT INTO test VALUES('张三','语文',81),
('张三','数学',75),
('李四','语文',76),
('李四','数学',90),
('王五','语文',81),
('王五','数学',82);

select * from test;

 

-- 18.请用一条Sql语句查处分数大于80的学生
select * from test where fenshu > 80;
 文章来源地址https://www.toymoban.com/news/detail-615264.html

到了这里,关于数据库面试题题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 新版Java面试专题视频教程——数据库篇

    = = = = = = = = = = = = = 数据库篇 = = = = = = = = = = = = = 01-MySQL篇-课程介绍 MySQL 进阶篇1.0 索引 SQL优化 视图 锁 02-优化-如何定位慢查询 MySQL中,涉及到慢查询都有哪些? 聚合查询 多表查询 表数据量过大查询 深度分页查询 表象:页面加载过慢、接口压测响应时间过长(超过1s) MySQL中,

    2024年02月19日
    浏览(30)
  • java八股文面试[数据库]——慢查询优化

    分析慢查询日志 直接分析慢查询日志, mysql使用 explain + sql语句进行模拟优化器来执行分析。 oracle使用explain plan for + sql语句进行模拟优化器来执行分析。 table | type | possible_keys | key |key_len | ref | rows | Extra EXPLAIN列的解释: table 显示这一行的数据是关于哪张表的 type 这是重要的

    2024年02月10日
    浏览(29)
  • java八股文面试[数据库]——MySQL索引的数据结构

    知识点: 【2023年面试】mysql索引的基本原理_哔哩哔哩_bilibili 【2023年面试】mysql索引结构有哪些,各自的优劣是什么_哔哩哔哩_bilibili

    2024年02月10日
    浏览(32)
  • java八股文面试[数据库]——自适应哈希索引

    自适应Hash索引( Adatptive Hash Index,内部简称 AHI )是InnoDB的 三大特性之一 ,还有两个是 Buffer Pool简称BP、 双写缓冲区 (Doublewrite Buffer)。 1、自适应即我们 不需要自己处理 ,当InnoDB引擎根据 查询统计 发现某一查询满足hash索引的数据结构特点,就会给其建立一个hash索引;

    2024年02月10日
    浏览(34)
  • Java面试之数据库篇(offer 拿来吧你)

    现在关于Java面试的资料是层出不穷,对于选择困难症的同学来说,无疑是陷入了一次次的抉择与不安中,担心错过了关键内容,现在小曾哥秉持着\\\"融百家之所长,汇精辟之文档\\\"的思想,整理一下目前主流的一些八股文,以达到1+1 2 的效果! 1、什么是DB?DBMS?DBS?DBA? 上面名词傻

    2024年02月02日
    浏览(25)
  • mysql数据库面试题基础知识,Hadoop之MapReduce04,腾讯java面试流程

    该方法的执行过程比较复杂,我们慢慢来分析,首先来看下简化的时序图 3.1waitForCompletion public boolean waitForCompletion(boolean verbose ) throws IOException, InterruptedException, ClassNotFoundException { // 判断任务的状态,如果是DEFINE就提交 if (state == JobState.DEFINE) { submit(); } if (verbose) { // 监听并且

    2024年04月14日
    浏览(46)
  • java八股文面试[数据库]——MySQL死锁的原因和处理方法

    1) 表的死锁 产生原因 : 用户A访问表A(锁住了表A),然后 又访问表B ;另一个用户B访问表B(锁住了表B),然后企图 访问表A ;这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B才能继续,同样用户B要等用户A释放表A才能继续,这就死锁就产生了。 用户A--》A表(表

    2024年02月09日
    浏览(38)
  • java八股文面试[数据库]——可重复读怎么实现的(MVCC)

    可重复读(repeatable read)定义: 一个事务执行过程中看到的数据,总是 跟这个事务 在 启动时 看到的数据是一致的。 MVCC MVCC, 多版本并发控制 , 用于实现 读已提交 和 可重复读 隔离级别。 MVCC的核心就是 Undo log多版本链 + Read view ,“MV”就是通过 Undo log来保存数据的历史版

    2024年02月09日
    浏览(30)
  • java八股文面试[数据库]——B树和B+树的区别

    B树是一种树状数据结构,它能够存储数据、对其进行排序并允许以 O(logn) 的时间复杂度进行查找、顺序读取、插入和删除等操作。 B树中允许一个结点中包含多个key,可以是3个、4个、5个甚至更多,并不确定,需要看具体的实现。现在我们选 择一个参数M,来构造一个B树,我

    2024年02月09日
    浏览(43)
  • Java 数据库改了一个字段, 前端传值后端接收为null问题解决

    前端传值后端为null的原因可能有很多种,我遇到一个问题是,数据库修改了一个字段,前端传值了,但是后台一直接收为null值, 原因排查: 1、字段没有匹配上,数据库字段和前端字段传值不一致 2、大小写一定要注意 这个疏忽大意了 以上都改了还是null ~~~~! 3、get set方法

    2024年02月10日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包