1. 以下哪个函数可以实现将日期按照%Y年%m月%d日格式显示()
      A. NOW()
      B. DATE_FORMAT()
      C. STR_TO_DATE()
      D. CURDATE()
      正确答案:B
      解析:
      NOW() 函数返回的是当前的日期和时间。
      DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
      STR_TO_DATE() 根据fmt格式字符串将str字符串转换为日期值。 STR_TO_DATE()函数可能会根据输入和格式字符串返回DATE,TIME或DATETIME值。
      CURDATE() 函数返回当前的日期。

    2. 以下哪种操作能够实现实体完整性()
      A. 设置唯一键
      B. 设置主键
      C. 设置外键
      D. 设置不为NULL
      正确答案:A
      解析:
      实体的完整性是强制表的标识符列或主键的完整性,是通过唯一约束,主键约束或标识列属性来实现

    3. 编写SQL,将上述EMP表中的员工工资上调100,并查询显示
      自己答案:
      SELECT SAL+100 ‘员工工资’ FROM EMP
      正确答案:
      — 修改语句
      UPDATE EMP SET SAL = SAL + 100 ;
      — 查询语句
      SELECT ENO,ENAME,SAL FROM EMP ;
      解析:错误审核题目,本只是以为查询显示时为上调100的员工工资,所以并没有修改

    4.查询员工工资大于平均水平的
    自己答案:
    SELECT 名称,工资 FROM 员工表 WHERE 工资>AVG(工资);
    正确答案:
    SELECT 编号,名称,部门,工资,( SELECT AVG(工资) FROM 员工表 ) 平均工资
    FROM 员工表 WHERE 工资 > ( SELECT AVG(工资) FROM 员工表 )
    解析:
    整体思路:先查出员工的平均工资,再进行对比

    5.查询部门人数多于1个的部门信息
    自己答案:
    SELECT 部.名称,COUNT(员.部门) as 人数 FROM 员工表 员 INNER JOIN 部门表 部 ON 员.部门=部.编号 WHERE 人数>1;
    正确答案:
    SELECT 编号,名称,人数 FROM 部门表 INNER JOIN (SELECT 部门,COUNT(编号) 人数
    FROM 员工表 GROUP BY 部门 HAVING COUNT(编号) > 1)人数表ON 部门表.编号 = 人数表.部门
    解析:
    对于函数和排序一起使用还是不够熟练;SQL语句中搭配了分组条件,那么能展示的只有分组条件和分组函数;
    整体思路:先查询部门信息,再返回部门人数的总数,再加上总数大于1的条件


    总结:
    1.只是粗略的了解MySQL语法结构和函数,了解的不够全面
    2.聚合查询掌握的不是牢固
    3.做题粗心,没有仔细审题。