数据库总结--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导出一份传上来

面试题: mysql数据库 已看1 简单的sql练习的更多相关文章

  1. 面试题: mysql数据库 已看1 索引和事务 没用

    mysql数据库面试总结 2017年09月04日 00:11:40 阅读数:151 结合网上大神还有自己面试经历,收集的总结Mysql面试题,方便自己准备面试: mysql一个永远都复习不完,尽量总结 ...

  2. 面试题: mysql 数据库已看 sql安全性 索引 引擎 sql优化

    总结的一些MySQL数据库面试题 2016年06月16日 11:41:18 阅读数:4950 一.sql语句应该考虑哪些安全性? (1)防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语 ...

  3. 安卓版php服务器的mysql数据库增删改查简单案例

    界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  4. 面试题: 数据库 oracle数据库 已看1 意义不大 有用

    Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 1.SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert.delete.up ...

  5. MySQL数据库的环境及简单操作

    ***********************************************声明*************************************************** ...

  6. MySQL数据库执行计划(简单版)

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库执行计划简单版时间:2019年2月25日内容:MySQL数据库执行计划简单版重点:MySQL ...

  7. MySql数据库在NodeJS中简单的基本操作

    阅读目录 一:连接数据库 二:数据的增删改查操作 2.1 数据库新增和查询数据 2.2 获取该数据的主键值 2.3 多语句查询 回到顶部 一:连接数据库 const mysql = require(' ...

  8. MySQL数据库的基本使用简单易懂

    MySQL数据库的基本使用 一.数据库概述 1. 基本介绍 数据库就是以一定格式进行组织的数据的集合.通俗来看数据库就是用户计算机上 一些具有特殊格式的数据文件的集合 2. 数据库的特点 持久化存储 ...

  9. MySQL数据库单例连接简单实现(MySQL扩展)

    <?php /** * MySQL数据库单例实现 * * @author shizq at 2015-04-22 * */ final class MySQLFactory { private ...

随机推荐

  1. [原创]java WEB学习笔记39:EL中的运算符号(算术运算符,关系运算符,逻辑运算符,empty运算符,条件运算符,括号运算符)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  2. webpack打包笔记

    optimist是一个node库,将webpack.config.js与shell参数整合成options对象 options对象包含之后构建的重要信息,类似于webpack.config.js we ...

  3. location记录<18.7.21>

    // var index = location.href; // console.log(index) // // indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. // v ...

  4. Docker DNS

    从 Docker 1.10 版本开始,docker daemon 实现了一个内嵌的 DNS server,使容器可以直接通过“容器名”通信. 方法很简单,只要在启动时用 --name 为容器命名并且连 ...

  5. Docker dockerfile命令详解

    docker-file 官网文档:https://docs.docker.com/v17.09/engine/reference/builder/ 制作Dockerfile为Docker入门学习的第一 ...

  6. Hadoop 2.x 之 HA 简介

    HA结构图 HA是用来解决单点故障问题 DN: DataNode,启动时会往所有的NameNode汇报 NN: NameNode(主 Active(一个)   备 Standby(可以有多个)) Jo ...

  7. neutron VPC

    The goal of this document is to provide an umbrella blueprint defining how to add support for VPC in ...

  8. jQuery绿色下拉网站导航

    jQuery,下拉菜单,网站导航,绿色导航,菜单导航,jQuery绿色下拉网站导航是一款基于jquery实现的鼠标滑过下拉显示二级菜单. jquery特效代码:http://www.huiyi8.co ...

  9. 创建HTML5/CSS3单页Web布局

    1. [图片] 第1步:PhotoShop ​2. [代码]第2步:index.html <!DOCTYPE html><!-- The new doctype -->< ...

  10. form表单提交信息的方式

    form表单提交信息的方法有两种,一种是get,一种是post.get提交的数据是在地址栏上提交,一般隐私数据不会选择这样方式.地址栏上只能提交字符. 如果使用的是post提交,那么信息都在消息正文中 ...