MySQL——DQL语言基础(1)案例

1、下面语句是否可以执行成功

SELECT last_name,job_id,salary AS sal

FROM employees;


由此可见 该语句是可以执行成功的

2、下面的语句是否可以执行成功

SELECT * FROM employees;


这条语句是查询employees表中的所有属性

3、找出下面语句中的错误

SELECT employee_id,last_name,

salary*12 “ANNUAL  SALARY”

FROM employees;

改正后


4、显示表departments的结构,并查询其中的全部数据

这就用到了DESC 表名;

         以及SELECT * FROM 表名;这两个语句

DESC departments;


SELECT * FROM departments;


5、显示出表employees中的全部job_id(不能重复)

因为需要不重复的数据,所以得用到DISTINCT

SELECT DISTINCT job_id FROM employees;

6、显示出表employees的全部列,各个列之间用逗号连接,列头显示成OUT_PUT

需要用到逗号连接,在MySQL里+号并不具有连接的功能,于是有了CONCAT 

SELECT

  CONCAT (

    `employee_id`,

    ',',

    `first_name`,

    ',',

    `last_name`,

    ',',

    `email`,

    ',',

    `phone_number`,

    ',',

    `salary`,

    ',',

    `commission_pct`,

    ',',

    `manager_id`,

    ',',

    `department_id`,

    ',',

    `hiredate`

  ) AS OUT_PUT

FROM

  employees;

这时候发现查询之后的结果为null,这很可能是因为查询的几个属性中有null值而导致,那么用SELECT * FROM employees;查询一下


发现其中commission_pct的值有null

那么就又引出了一个新的函数IFNULL

SELECT IFNULL(expr1,expr2);

这个函数只能判断是否为空

例如

SELECT

  ifnull (commission_pct, 0) as 奖金率,

  commission_pct

FROM

  employees;


可以看到只要是null值的都换成了0

所以我们可以在原来的基础上进行一些修改

SELECT

  CONCAT (

    `employee_id`,

    ',',

    `first_name`,

    ',',

    `last_name`,

    ',',

    `email`,

    ',',

    `phone_number`,

    ',',

    `salary`,

    ',',

    IFNULL(commission_pct,0),

    ',',

    `manager_id`,

    ',',

    `department_id`,

    ',',

    `hiredate`

  ) AS OUT_PUT

FROM

  employees;

于是便得到了结果

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容