福建拓展宝科技有限公司2019面试题

面试时间: 2019-4-16

  1. 根据aa表写出对应的查询结果
rq shengfu
2018-10-01
2018-10-01
2018-10-01
2018-10-01
2018-10-20
2018-10-20
2018-10-20
2018-10-20

查询结果:

rq
2018-10-01 2 2
2018-10-01 2 2

答:

1
SELECT rq,sum(shenfu="胜") 胜,sum(shenfu="负") 负 FROM aa GROUP BY rq

1
2
3
4
SELECT rq,
COUNT( CASE WHEN shenfu = '胜' THEN '胜'END ) 胜,
COUNT( CASE WHEN shenfu = '负' THEN '负'END ) 负
FROM aa GROUP BY rq
  1. in 和 exists 区别
  • in()适合B表比A表数据小的情况
  • exists()适合B表比A表数据大的情况
  • 当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用.