zoukankan      html  css  js  c++  java
  • Mysql 常用语句实战(1)

    前置 sql 语句

    用来创建表、插入数据

    DROP TABLE IF EXISTS `emp`;
    CREATE TABLE `emp`  (
      `id` int(11) NOT NULL COMMENT '员工编号',
      `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '员工姓名',
      `dept_id` int(11) NULL DEFAULT NULL COMMENT '部门编号',
      `leader` int(11) NULL DEFAULT NULL COMMENT '直属领导id',
      `is_enable` int(11) NULL DEFAULT NULL COMMENT '是否在职 1在职 0离职',
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
    
    
    INSERT INTO `emp` VALUES (1, '张三丰', 1, 0, 1);
    INSERT INTO `emp` VALUES (2, '张无忌', 1, 1, 1);
    INSERT INTO `emp` VALUES (3, '小龙女', 1, 1, 1);
    INSERT INTO `emp` VALUES (4, '小白菜', 1, 3, 1);
    INSERT INTO `emp` VALUES (5, '韦小宝', 2, 0, 1);
    INSERT INTO `emp` VALUES (6, '令狐冲', 2, 0, 1);
    INSERT INTO `emp` VALUES (7, '东方不败', 0, 8, 1);
    INSERT INTO `emp` VALUES (8, '任我行', 3, 0, 1);
    INSERT INTO `emp` VALUES (9, '李寻欢', 0, 8, 1);
    
    
    DROP TABLE IF EXISTS `dept`;
    CREATE TABLE `dept`  (
      `id` int(11) NOT NULL COMMENT '部门id',
      `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门名称',
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
    
    INSERT INTO `dept` VALUES (1, '销售部');
    INSERT INTO `dept` VALUES (2, '信息技术部');
    INSERT INTO `dept` VALUES (3, '财务部');
    INSERT INTO `dept` VALUES (4, '有关部门');

    题目列表

    1、查询张姓员工的员工信息和所在部门信息。

    2、查询张三丰管理了几个员工

    3、查询出所有实习员工(实习员工无部门信息)

    4、查询每个部门有多少个员工,并打印部门名字、部门里的所有员工名字

    答案列表

    -- 1、查询张姓员工的员工信息和所在部门信息。
    select * from emp e left join dept d on e.dept_id=d.id where e.`name` like "%%";
    
    -- 2、查询张三丰管理了几个员工
    select e1.name,count(1) as "手下数量" from emp e1 inner join emp e2 on e1. id = e2.leader where e1.`name` = "张三丰";
    
    -- 3、查询出所有实习员工(实习员工无部门信息)
    select * from emp e where e.dept_id not in (select id from dept)
    select * from emp e left join dept d on e.dept_id = d.id where d.name is null
    
    -- 4、查询每个部门有多少个员工,并打印部门名字、部门里的所有员工名字
    select d.id,d.name,count(1),group_concat(e.name) from emp e right join dept d on e.dept_id = d.id group by d.id
  • 相关阅读:
    cocos2dx中的定时器及其分类
    cocos中BatchNode精灵集合的使用
    cocos2dx中的坐标体系
    cocos2dx中的背景图层CCLayerColor和渐变图层CCLayerGradient
    精灵的属性Zorder的设置
    cocos2.2.3中创建精灵对象的三大类方法
    什么是差值查找?
    vs2013中头文件中大小写的切换的快捷键
    ARM基础:为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈
    ARM基础:MMU 异常向量表 重映射
  • 原文地址:https://www.cnblogs.com/poloyy/p/12889753.html
Copyright © 2011-2022 走看看