• MySQL习题


     一

    • 显示出表employees的全部列,各个列之间用逗号连接,列头显示成OUT_PUT
    1. SELECT
    2. CONCAT(`first_name`,',',`last_name`,',',`job_id`,',',IFNULL(commission_pct,0)) AS out_put
    3. FROM
    4. employees;

     二

    • 查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序。 

    LENGTH(emali) 

    length(): 单位是字节,utf8编码下,一个汉字三个字节,一个数字或字母一个字节。gbk编码下,一个汉字两个字节,一个数字或字母一个字节。

    1. SELECT * from employees
    2. where email LIKE "%e%"
    3. ORDER BY LENGTH(email) DESC, department_id ASC

     三

    1. SELECT CONCAT(last_name,' earns ',salary,' monthly but wants ',salary*3) AS
    2. 'Dream Salary'
    3. FROM employees

    •  将员工的姓名按首字母排序,并写出姓名的长度(length)

    1. SELECT CONCAT(last_name,first_name) '姓名',LENGTH(CONCAT(first_name,last_name)) '姓名的长度'
    2. FROM employees
    3. ORDER BY ASCII(last_name),LENGTH(CONCAT(first_name,last_name)) DESC
    4. #先按形式排序(默认排序方式为升序排序),再按姓名长度降序排序

    五 

    1. SELECT last_name,job_id,
    2. CASE job_id
    3. WHEN 'AD_PRES' THEN 'A'
    4. WHEN 'ST_MAN' THEN 'B'
    5. WHEN 'IT_PROG' THEN 'C'
    6. WHEN 'SA_REP' THEN 'D'
    7. WHEN 'ST_CLERK' THEN 'E'
    8. END as Grade
    9. from employees

    1. SELECT MAX(salary),MIN(salary),SUM(salary),AVG(salary),job_id
    2. FROM employees
    3. GROUP BY job_id
    4. ORDER BY job_id ASC

     七

    • 查询编号>3的女神的男朋友的信息,如果有则列出详细,如果没有则用null填充

    (由题目可看处,外连接中把beuaty当作主表,可以实现没有则用null填充)

    1. SELECT be.name,bo.*
    2. FROM beauty be
    3. LEFT JOIN boys bo
    4. ON be.`boyfriend_id`=bo.`id`
    5. WHERE be.id>3

     我本来想用 USING来实现等值连接,但是using只能指定数据表里的 同名字段 进行等值连接,而这两张表没有连接两张表的同名字段,所以不能使用using。

     八

    • 查询哪个城市没有部门
    • locations表的信息 

    • departments表的信息

    查询思路:

    我们可以看到city字段只在locations表里面,但是部门id只在departments表里面,所以要用到多表查询,两张表有相同字段location_id,即可用它连接两张表。

    要查询哪个城市没有部门,就要筛选department_id为NULL的城市,用where限定

    1. select city
    2. from departments d
    3. RIGHT JOIN locations l
    4. on d.location_id=l.location_id
    5. where d.department_id is NULL
  • 相关阅读:
    简述LSM-Tree
    ElasticSearch 菜鸟笔记 (一)ElasticSearch 入门简介
    JavaWeb过滤器(Filter)详解,是时候该把过滤器彻底搞懂了(万字说明)
    5分钟学会 gRPC
    C#设计模式六大原则之依赖倒置原则
    从内核源码看 slab 内存池的创建初始化流程
    leetcode 205. 同构字符串
    【MySQL知识点】默认约束、非空约束
    利用Kali进行DDOS泛洪演练
    深入理解Scikit-Learn中的分层抽样:实现与应用
  • 原文地址:https://blog.csdn.net/wxxxx_xx/article/details/126162720