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;
于是便得到了结果