小编说:这些知识常出现在面试题,但是实用价值很高。。其实也就是SQL的高级篇罢了,多用在统计方面,将行数据合并成列数据。希望读者能举一反三,灵活运用。

1.一道SQL语句面试题,关于group by

表内容:

2005-05-09 胜

2005-05-09 胜

2005-05-09 负

2005-05-09 负

2005-05-10 胜

2005-05-10 负

2005-05-10 负

如果要生成下列结果, 该如何写sql语句?

胜 负

2005-05-09 2 2

2005-05-10 1 2

------------------------------------------

select time, sum(case when shengfu='胜' then 1 else 0 end) as '胜',sum(case when shengfu='负' then 1 else 0 end) as '负' from my_table group by time

2.请教一个面试中遇到的SQL语句的查询问题

表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

------------------------------------------

select (case when a>b then a else b end ),(case when b>c then b esle c end) from my_table

3.面试题:一个当天日期判断的sql语句?

请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)

------------------------------------------

select * from tb where datediff(dd,SendTime,getdate())=0

4.有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路):

大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。

显示格式:

语文 数学 英语

及格 优秀 不及格

------------------------------------------

select

(case when 语文>=80 then '优秀'

when 语文>=60 then '及格'

else '不及格') as 语文,

(case when 数学>=80 then '优秀'

when 数学>=60 then '及格'

else '不及格') as 数学,

(case when 英语>=80 then '优秀'

when 英语>=60 then '及格'

else '不及格') as 英语,

from my_table

7.请用一个sql语句得出结果

从table1,table2中取出如Result所列格式数据,注意提供的数据及结果不准确,只是作为一个格式向大家请教。

如使用存储过程也可以。

-------------------------------------

table1

月份mon   部门dep       业绩yj

一月份      01                10

一月份      02                10

一月份      03                5

二月份      02                8

二月份      04                9

三月份      03                8

-----------------------------------

table2

部门dep            部门名称dname

01                      国内业务一部

02                      国内业务二部

03                      国内业务三部

04                      国际业务部

---------------------------------------------------

Result

部门名称dname     一月份    二月份      三月份

国内业务一部         10          null         null

国内业务二部         10          8             null

国内业务二部         null         5            8

国际业务部            null         null         9

---------------------------------------------------

select a.dep,

sum(case when a.mon=1 then a.yj else 0 end) as '一月份',

sum(case when a.mon=2 then a.yj else 0 end) as '二月份',

sum(case when a.mon=3 then a.yj else 0 end) as '三月份'

from table2 b left join table1 a on a.dep=b.dep

8.华为一道面试题

一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数。

------------------------------------------

select id, Count(*) from tb group by id having count(*)>1

MySQL的高级运用_MYSQL之SQL高级运用(帮助你高效率编程)相关推荐

  1. mysql怎么排序检索_MySQL 2 SQL数据使用(检索、排序、过滤:SELECT/FROM/LIMIT/ORDER BY/DESC/WHERE/AND/OR/IN/NOT)...

    .空格被忽略,可以用一或多个空格分开指令. 检索单个列: SELECT 列名  FROM 表名: 检索多个列: 当心逗号 SELECT 列1,列2,列3  FROM 表: 检索所有列:(*)通配符 S ...

  2. mysql高级操作_MySQL数据库的高级操作

    1.数据备份与还原 (1)备份 mysqldump: mysqldump -u username -p password dbname [tbname1 [tbname2....] ]> fil ...

  3. mysql 高级语法_3、sql高级语法(一)

    1.规定要返回的数目 mysql中 #从websites表中返回5条记录,没有5条记录则返回全部 select * from websites limit 5; 2.like语法 #1 筛选出name ...

  4. mysql json_set多维_mysql之json高级使用

    前言 JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写.对机器来说易于解析和生成,并且会减少网络带宽的传输. JSON的格式非常简单:名称/ ...

  5. mysql 事务 注意 优化_MySQL日常SQL优化注意事项

    1.在where条件中避免双百分号"%col%" 在MySQL的SQL查询条件中使用"%col%"无法使用索引而进行全表扫描影响查询效率 2.避免函数出现在wh ...

  6. mysql 新建子查询_Mysql创建SQL子查询ALIAS

    通常这些被称为视图.例如: CREATE VIEW vMyLongQuery AS SELECT a, b, c FROM (LONG QUERY) X WHERE ... 然后可以像这样引用: SE ...

  7. mysql 语句性能分析_mysql的sql语句的性能诊断分析

    1> explain SQL,类似于Oracle中explain语句 例如:explain select * from nad_aditem; 2> select benchmark(co ...

  8. mysql综合查询索引优化_MySQL数据库SQL优化之确定问题使用索引提高查询效率

    在EXPLAIN分析SQL中,已经可以确定是对客户表customet的全表扫描导致效率的不理想,那么对客户表customer的email字段创建索引,具体如下: mysql> create in ...

  9. mysql中常用动词_mysql常用sql语句总结

    sql语言简洁只有7个动词:SELECT , DROP, ALTER, CREATE,INSERT, UPDATE,DELETE: 获取表结构:Desc 表名:(show databases;tabl ...

最新文章

  1. 程序员们有福了:独立于GUI的Java应用框架 Reflex 诞生了!
  2. 从2017年顶会论文看Attention Model - PaperWeekly 第50期
  3. Elementui select 设置点击事件,在Change事件前触发
  4. OPA 22 - sinor fake xml http request
  5. Oracle10g/11g数据库性能的诊断和监控方法论
  6. 张小娴的文章,喜欢的,贴来存档
  7. 关于服务器虚化的优势,vmware虚化优势.docx
  8. 控制寄存器:指令指针寄存器IP:存放下一条指令的地址的偏移量,标志寄存器FR(16):
  9. python123选择题及答案_py利用selenium库 爬取 python123官网的练习题及答案
  10. 【ES】ES 根据数据的某个字段进行条件删除
  11. ES6新特性_浏览器使用ES6模块化引入模块---JavaScript_ECMAScript_ES6-ES11新特性工作笔记042
  12. 最流行的轻量级php框架,推荐20个最近很流行的优秀PHP框架
  13. Visual Studio(Year)编辑器调试在IIS发布的Web程序出现错误的解决
  14. 软考程序员资源免费分享
  15. android原生系统手写,可自定义 自带中文手写输入法_索尼 Xperia SP_手机Android频道-中关村在线...
  16. python实现触摸精灵功能_FRIDA脚本系列(三)超神篇:百度AI“调教”抖音AI
  17. QEMU同步脏页原理
  18. vue结合elementui实现输入框输入关键词显示下拉列表点击列表中关键字页面滚动到关键字所在位置
  19. web个人学习笔记(待完善)
  20. vue-router 定义三级路由,路由跳转了,页面没出来

热门文章

  1. $_SERVER详细讲解
  2. 动画,视频处理的计算机系统,音视频与动画处理.ppt
  3. open dwg file_体育直播间 | 时隔六年,又一次中韩对决!S10全球总决赛SN对战DWG!...
  4. 【若依(ruoyi)】打开新的选项卡
  5. apply和call
  6. spring mvc DispatcherServlet解读
  7. BufferedReader和FileReader的区别
  8. 美国研发出第一台计算机的时间,研发世界第一台电脑的核心人物,被美国隐藏35年,只因他是个华人...
  9. linux怎么运行ofstream,ofstream和ifstream详细用法---转
  10. python十种日期格式_Python 日期格式相关