面试题: mysql数据库未看10

数据库总结--MySQL常见面试题

2015年03月24日 17:56:06

阅读数:7787

1.根据部门号从高到低,工资从低到高列出员工的信息

select * from employee order by dept_id desc,salary

2.union和union all的区别
用union连接表后,重复的记录会被删除掉
用union all连接表后,记录会被完整保留

3.分页语句(用sql语句直接分页,效率高)
    pageSize = 20;
    pageNo = 5;

select * from tbname limit (pageNo-1)*pageSize,pageSize

4.数据库三范式
第一范式  字段具有原子性,不可再分
第二范式  表中的每列都和主键相关
第三范式  每列都和主键列直接相关,而不是间接相关

5.用一条SQL语句查询出每门课都大于80分的学生姓名
name   kecheng   fenshu 
张三     语文       81
张三     数学       75
李四     语文       76
李四     数学       90
王五     语文       81
王五     数学       100
王五     英语       90

SELECT name,`subject`,score,sum(score>80) as jg from result GROUP BY `name` HAVING jg=(SELECT COUNT(DISTINCT rs.subject) from result rs );

另一种写法,高大人写的

SELECT
ttt.name
FROM
(select  count(r.name) c, r.name  from  result  r WHERE r.score >80 GROUP BY r.`name`) ttt
WHERE
ttt.c=(select  count(DISTINCT `subject`) from  result)

6.
自动编号   学号   姓名 课程编号 课程名称 分数
1        2005001  张三  0001      数学    69
2        2005002  李四  0001      数学    89
3        2005001  张三  0001      数学    69
删除除了自动编号不同,其他都相同的学生冗余信息

create TABLE tmp as SELECT s.code FROM student s 
GROUP BY s.`name`,s.kname,s.scode,s.kcode,s.score ;

DELETE  from student
where code not in (select code from tmp);

drop table tmp;

7.一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在四个球对进行比赛,用一条sql语句显示所有可能的比赛组合.

SELECT * FROM 
department INNER JOIN department as a
ON
department.`name` <> (a.`name`)

8.列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序

SELECT name,deptid,salary  from employee where salary>(select avg(salary) from employee) GROUP BY deptid asc

写完后把自己的练习SQL导出一份传上来

原文地址:https://www.cnblogs.com/shan1393/p/9117752.html

时间: 2024-11-01 13:26:10

面试题: mysql数据库未看10的相关文章

面试题: mysql数据库 未看7

mysql数据库面试总结 2017年09月04日 00:11:40 阅读数:151 结合网上大神还有自己面试经历,收集的总结Mysql面试题,方便自己准备面试: mysql一个永远都复习不完,尽量总结,差不多就可以去面试(个人观点) 1.数据库事务的四个特性及含义 数据库事务transanction正确执行的四个基本要素.ACID,原子性(Atomicity).一致性(Correspondence).隔离性(Isolation).持久性(Durability). 原子性:整个事务中的所有操作,要

面试题: 数据库 oracle数据库 未看6

Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 1.SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert.delete.update DDL(数据定义语言)create.drop.alter DCL(数据控制语言)grant:把权限授予用户.revoke:把权限从用户收回 TPL(TCL,事务控制语言):commit.rollback 2.Oracle是怎样分页的 Oracle用rownum进行分页 分页语句的步骤: a

面试题: 数据库 未看4

什么是存储过程?有哪些优缺点? 什么是存储过程?有哪些优缺点? 存储过程就像我们编程语言中的函数一样,封装了我们的代码(PLSQL.T-SQL). 存储过程的优点: 能够将代码封装起来 保存在数据库之中 让编程语言进行调用 存储过程是一个预编译的代码块,执行效率比较高 一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通信速率 存储过程的缺点: 每个数据库的存储过程语法几乎都不一样,十分难以维护(不通用) 业务逻辑放在数据库上,难以迭代 三个范式是什么 三个范式是什么 第一范式(1N

面试题: 数据库未看8

存储过程和函数的区别 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表. . l         视图的优点?建立视图的基本语法结构? 视图的优点: 1.       视图对于数据库的重构造提供了一定程度的逻辑独立性.数据的逻辑独立性是指数据库重构造时,如数据库扩大 (增加了新字段,新关系等),用户和用户程序不会受影响. 2.       简化了用户观点.视图的机制使用户

面试题:面试问题 !=!=未看

1.请描述下你做的项目: XXX系统是什么什么,主要目的是XXX,整个系统包含了哪些功能模块,然后说包含了哪些模块,自己做了哪些模块. 2.结合项目谈谈你对MVC的理解 MVC是model-view-controler的简称.也就是模型-视图-控制器.mvc是一种设计模式,他强制性的把应用程序的输入.处理和输出分开.mvc中的模型.视图.控制器分别担任着不同的任务. 视图:视图是用户看到并与之交互的界面.视图向用户显示相关的数据,并接受用户的输入.视图不进行任何业务逻辑处理. 模型:模型表示业务

某硕笔试题mysql数据库部分(较为全面)

Student(S#,Sname,Sage,Ssex) 学生表  Course(C#,Cname,T#) 课程表  SC(S#,C#,score) 成绩表  Teacher(T#,Tname) 教师表 问题:  1.查询"001"课程比"002"课程成绩高的所有学生的学号:    select a.S# from (select s#,score from SC where C#='001') a,(select s#,score    from SC where

面试题: java多线程 !=!=未看

如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个话其实只有一半对,因为反应"多角色"的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的"生产者,消费者模型". 很多人都对其中的一些概念不够明确,如同步.并发等等,让我们先建立一个数据字典,以免产生误会. 多线程

面试题:项目经验 !=!=未看

项目经验 面试官在一开始会让你进行自我介绍,主要是想让你介绍一下自己做过的一些项目,看看你对这些项目的了解程度,因为很多人简历上写的项目并非都是从头到尾都参与的,有些只是参与并实现了其中的一些模块而已,或是接手维护别人的项目,所以在你简历上所写的和面试过程中所说的项目经验,你自己必须能够了解来龙去脉,因为面试官肯定会根据你的项目描述,对项目中的实现原理,或为什么要这样实现进行提问,这时不至于木讷住而不知如何作答,如此局面只会大大降低面试分. 场景对话: 面试官:(拿着简历)讲讲你最近做的这个项目

Mysql数据库优化技术之配置篇、索引篇 ( 必看 必看 转)

转自:Mysql数据库优化技术之配置篇.索引篇 ( 必看 必看 ) (一)减少数据库访问 对于可以静态化的页面,尽可能静态化 对一个动态页面中可以静态的局部,采用静态化 部分数据可以生成XML,或者文本文件形式保存 使用数据缓存技术,例如: MemCached (二)优化的检测方法 1.用户体验检测 2.Mysql状态检测 在Mysql命令行里面使用show status命令,得到当前mysql状态. 主要关注下列属性: key_read_requests (索引读的请求数)(key_buffe