`
wangking717
  • 浏览: 263232 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

MYSQL之SQL高级运用(帮助你高效率编程)

阅读更多

小编说:这些知识常出现在面试题,但是实用价值很高。。其实也就是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

分享到:
评论

相关推荐

    springboot + mybatis +mysql+ sqlserver 双数据源

    本项目"springboot + mybatis +mysql+ sqlserver 双数据源"正是针对这种需求的一个解决方案,它利用SpringBoot框架、MyBatis持久层框架以及MySQL和SQLServer两种数据库,实现了数据源的自动切换,以满足不同业务场景...

    sql和mysql jdbc包

    在IT行业中,SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准编程语言,而MySQL则是一款广泛应用的开源关系数据库管理系统。JDBC(Java Database Connectivity)是Java平台中用于访问...

    MYSQL高效编程_MYSQL_

    MySQL高效编程是数据库管理员、开发人员以及对...总之,"MYSQL高效编程.pdf"这本书应该是一本全面介绍MySQL高效使用和管理的指南,涵盖了从基础到高级的各个层面,旨在帮助读者提升MySQL操作的效率和数据库的整体性能。

    MySQL高级视频教程

    sql编程语法, 存储过程, 存储函数, 触发器等内容 针对一些有一定mysql基础的同学精心设计录制的。 通过本视频的学习,让学员轻松掌握到视图的作用,视图的具体应用;SQL编程中变量的定义,if语句,case语句,...

    QT高级编程 中文完整高清版 附源码

    对于数据库操作,Qt的SQL模块提供了对多种数据库系统的支持,如SQLite、MySQL、PostgreSQL等。QSqlDatabase、QSqlQuery等类帮助你编写查询,执行事务,并将数据模型化到Qt的对象中。 另外,Qt的并发编程特性允许你...

    mysql开发者SQL权威指南附录

    《MySQL开发者SQL权威指南》是一本...通过阅读这个附录,读者可以巩固对MySQL数据库的理解,提升SQL编程技能,更好地应对实际开发中的挑战。无论你是初学者还是经验丰富的开发者,这本书的附录都将是你宝贵的参考资料。

    mysql oracle SqlServer驱动

    其中,Type 4是纯Java实现,无需依赖于中间层或数据库厂商的特定库,如MySQL Connector/J,它是一个完全基于Java的、高性能的MySQL JDBC驱动。 Oracle驱动: Oracle数据库支持多种驱动,包括JDBC驱动和其他语言的...

    3_MySQL高级.zip

    尚硅谷的周阳老师推出的MySQL高级课程,通过思维导图的形式,深入浅出地讲解了MySQL的高级概念和技术,帮助学习者更好地理解和掌握数据库管理的核心技巧。 首先,"Mysql高级"涵盖的内容包括但不限于: 1. **性能...

    sql经典大全(高级)

    这个压缩包包含了多个关于SQL的重要文档和手册,旨在帮助读者深入理解和掌握SQL的高级用法,提升数据库管理和优化技能。 首先,我们来看《MySQL应用常识.chm》。这份文档可能涵盖了MySQL的基础操作,如数据类型、表...

    MySQL 开发者 SQL权威指南 SQL

    《MySQL 开发者 SQL权威指南》是一本专为MySQL开发者设计的全面教程,旨在帮助读者深入理解和掌握SQL语言,从而更高效地进行数据库管理和开发。SQL(Structured Query Language)是用于管理和处理关系数据库的标准...

    mysql C混合编程

    通过学习和实践MySQL C混合编程,你可以创建高效的数据库应用程序,充分利用C语言的性能和MySQL的数据库功能。在实际项目中,还可能涉及事务处理、预编译语句、游标、批量插入等高级主题,这些都是进一步提升效率和...

    mysql高级.pdf

    MySQL高级知识包含多个方面,本文主要介绍了存储函数、触发器、索引、存储引擎以及SQL优化的相关知识点。 首先,存储函数和触发器是MySQL中实现高级功能的关键组件。存储函数允许用户在数据库中存储并重用代码,...

    Qt高级编程pdf

    《Qt高级编程》这本书是Qt开发领域的一本权威指南,主要面向已经对Qt基础有所了解,希望深入理解和掌握Qt高级特性的开发者。Qt是一个跨平台的应用程序开发框架,由Qt Company提供,广泛应用于桌面、移动以及嵌入式...

    MySQL SQL高级特性-存储过程-触发器-事务

    MySQL是目前最流行的开源关系型数据库管理系统之一,它提供了丰富的数据库高级特性,比如存储过程、触发器和事务管理。这些特性增强了数据库的交互性、安全性和性能。 一、存储过程 存储过程是一组为了完成特定...

    MySQL知识总结之sql语句

    在实际应用中,理解并能灵活运用这些SQL语句,将使你在数据库管理、数据分析和应用开发等领域游刃有余。无论是进行简单的数据检索,还是复杂的业务逻辑处理,MySQL SQL语句都是不可或缺的工具。通过不断实践和学习,...

    oracle,mysql,sqlserver直连包

    无论是Oracle、MySQL还是SQL Server,直连包都扮演着关键角色,它们简化了开发过程,提高了应用程序与数据库之间的通信效率。在选择直连包时,需要考虑应用的需求,如性能、安全性、成本等因素。同时,理解每种...

    MySQL存储过程:数据库编程的高级艺术

    ### MySQL存储过程:数据库编程的高级艺术 #### 引言:存储过程的魔力 存储过程作为数据库领域中的一种高级特性,在提升数据处理效率及增强安全性方面扮演着至关重要的角色。MySQL作为广受青睐的关系型数据库管理...

    从sql server完美迁移到MySql-使用Migration Wizard

    首先,根据文档标题和描述,我们可以明确这篇指南主要讲述了如何使用MySQL Workbench中的Migration Wizard工具来实现从Microsoft SQL Server到MySQL的数据库迁移。Migration Wizard是一个图形化的工具,它能够指导...

    Oracle MySQL SQL编程最佳练手指南

    本文是一份关于Oracle MySQL SQL编程实践的指南,包含了大量的数据库查询示例,它们可以帮助读者通过实际的练习来提升SQL编程能力。以下知识点将围绕文档中提到的各种查询操作进行详细讲解: 1. 基本查询操作:文档...

    C++Mysql8.0数据库跨平台编程实战.zip

    而C++作为系统级编程的强大语言,与MySQL结合可以实现高性能的数据操作。 首先,课程将引导你了解如何在Windows和Ubuntu系统上安装并配置MySQL8.0服务器。在Windows中,这通常涉及下载安装包,设置环境变量,以及...

Global site tag (gtag.js) - Google Analytics