首页 > 数据库 >一套sql面试题的mysql解法

一套sql面试题的mysql解法

时间:2023-03-27 16:12:02浏览次数:56  
标签:10 面试题 name temp am mysql when sql now

1.表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql

select * from T order by c [desc] limit 20,10

2.表T(a,b,c,d)和表T1(a1,b1,c1,d1),表T中a字段是T1中的a1的外键,请用T1表中的c1,d1更新表T的c,d.

update T
inner join (select a1,c1,d1 from T1) temp on t.a = temp.a1 
set t.c = temp.c1,t.d = temp.d1

3.已知表ODM_JYBB有year、month和am字段,如下

Year Month am
2010 01 1.1
2010 02 1.2
2010 03 1.3
2010 04 1.4
2011 01 2.1
2011 02 2.2
2011 03 2.3
2011 04 2.4

通过SQL查询转换成如下格式

Year M01 M02 M03 M04
2010 1.1 1.2 1.3 1.4
2011 2.1 2.2 2.3 2.4
select
temp.Year as Year,
group_concat(case when temp.Month = '01' then temp.am end) as 'M01',
group_concat(case when temp.Month = '02' then temp.am end) as 'M02',
group_concat(case when temp.Month = '03' then temp.am end) as 'M03',
group_concat(case when temp.Month = '04' then temp.am end) as 'M04'
from ODM_JYBB temp
group by Year

4.通过SQL查询当前时间,显示格式如下所示

日期(data) 日期(string) 星期 月份 第几周 是否工作日
2019-10-10 10:10:10 2019-10-10 10:10:10 2019-10 41
select now() as '日期(date)',
date_format(now(),'%Y-%m-%d %T') as '日期(string)',
CASE dayofweek(now()) 
when '1' then '日'
when '2' then '一'
when '3' then '二'
when '4' then '三'
when '5' then '四'
when '6' then '五'
when '7' then '六'
else '' end
 as '星期',
date_format(now(),'%Y-%m') as '月份',
EXTRACT(week from now()) as '第几周',
if(dayofweek(ADDDATE(now(),0))%7=1 or dayofweek(ADDDATE(now(),0))%7=0,"否","是") as 是否工作日

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

select
    t1.name as name01,
    t2.name as name02 
from
    team t1
    inner join team t2 on t1.name < t2.name 
order by
    t1.`name`

 

标签:10,面试题,name,temp,am,mysql,when,sql,now
From: https://www.cnblogs.com/fanqisoft/p/17261893.html

相关文章

  • MySQL 秒转时分秒
    SELECT concat(concat(10000div3600,'时'),concat(10000mod3600div60,'分'),concat(10000mod60,'秒'))astimes......
  • mysql 省事方便的函数
    1、group_concat在我们平常的工作中,使用groupby进行分组的场景,是非常多的。比如想统计出用户表中,名称不同的用户的具体名称有哪些?sql:  select name from `user`......
  • MySql随笔记基础
    XAMPP使用shell命令 每个数据库对应一个子文件夹 mysql进入mySQL的命令-urootuserroot登录用户-uroot-ppassword登录密码-p123showdatabases显示数据......
  • datax同步oracle到mysql例子
     1.json文件[root@host135script]#moreoracle2mysql.json{"job":{"content":[{"reader":{......
  • Java面试题(二)
    JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,java开发工具包,提供了java的开发环境和运行环境。JRE:JavaRuntimeEnvironment的简称,java运行环境,为java的运行提供......
  • mysql - 存储过程
    定义存储过程(storedprocedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。分类存储过程分为系统存储......
  • Mysql主从同步
    什么是Mysql主从同步从库同步主库上的数据,(让其他数据库服务器自动同步当前正在被访问的数据服务器上的数据)   MYSQL主从复制的模式   1.异步模式(默认......
  • ORACLE SQL中执行先后次序的问题
    分享一个经验需求:Oracle中,根据COST优先级取最优先的一条记录脚本:select...from...where...andrownum=1orderbycost实际不能如愿,取得的结果不是最优先的。......
  • sql 时间格式
    仅仅学习记录sql的日期格式化转化#2.MySQL数据库中日期与时间函数FROM_UNIXTIME(),UNIX_TIME()…......
  • java代码备份mysql数据库
    生成环境的数据库我们需要不断的进行备份,不然服务器出现故障,会是灾难性的直接添加我的代码packagecom.hrp.task;importcom.alibaba.fastjson.JSON;importcom.bas......