美文网首页
朋友的朋友的SQL笔试题

朋友的朋友的SQL笔试题

作者: 小帅丶简书 | 来源:发表于2018-03-16 09:58 被阅读0次

    题:以下是年,月份和数量的表格(sales),根据该表格完成以下问题

    数据

    一下解题都是基于MySQL来做的


    1.在数据库中创建sales表并完成数据初始化,写出sql脚本

    上图已经给出创建后的数据截图,下面给出脚本内容

    CREATE TABLE `sales` (

      `year` int(11) DEFAULT NULL,

      `month` int(11) DEFAULT NULL,

      `amount` varchar(255) DEFAULT NULL

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    -- ------------------------------ Records of sales-- ----------------------------

    INSERT INTO `sales` VALUES ('2015', '1', '1.1');

    INSERT INTO `sales` VALUES ('2015', '2', '1.2');

    INSERT INTO `sales` VALUES ('2015', '3', '1.3');

    INSERT INTO `sales` VALUES ('2015', '4', '1.4');

    INSERT INTO `sales` VALUES ('2016', '1', '2.1');

    INSERT INTO `sales` VALUES ('2016', '2', '2.2');

    INSERT INTO `sales` VALUES ('2016', '3', '2.3');

    INSERT INTO `sales` VALUES ('2016', '4', '2.4');


    2.介绍存储过程的优点,并写出一个存储过程查询2015年的数据

    1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。

    2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。

    3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。

    4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。

    http://blog.csdn.net/jackmacro/article/details/5688687 可以看更多介绍

    创建存储过程sp_sales

    CREATE PROCEDURE sp_sales()

    BEGIN

    SELECT * FROM sales s WHERE s.`year`=2015;

    END

    调用存储过程sp_sales

    CALL sp_sales


    3.根据上面的表格,在数据库控制台打印以下结果,并给出相应的SQL脚本

    cmd窗口查询结果

    +------+------+------+------+------+

    | year | 1    | 2    | 3    | 4    |

    +------+------+------+------+------+

    | 2015 | 1.1  | 1.2  | 1.3  | 1.4  |

    | 2016 | 2.1  | 2.2  | 2.3  | 2.4  |

    +------+------+------+------+------+

    根据数据和图,基本可以判断是行转列查询。

    SELECT s.`year`,

    MAX(CASE s.`month` WHEN '1' THEN s.amount ELSE 0 END) '1',

    MAX(CASE s.`month` WHEN '2' THEN s.amount ELSE 0 END) '2',

    MAX(CASE s.`month` WHEN '3' THEN s.amount ELSE 0 END) '3',

    MAX(CASE s.`month` WHEN '4' THEN s.amount ELSE 0 END) '4' FROM sales s GROUP BY s.`year`

    相关文章

      网友评论

          本文标题:朋友的朋友的SQL笔试题

          本文链接:https://www.haomeiwen.com/subject/mvllqftx.html