数据库学习之MySQL (五)——select 语句 IFNULL() CONCAT()的应用

前言 ´・ᴗ・`

  • 本节主要讲了select语句的基本使用 作为数据查询DQL的开端
  • 本篇内容将会带你学习…
    • 1 SELECT语句的基本使用
    • 2 AS DISTINCT CONCAT IFNULL 关键字的用法

AS 重命名

Q3 如何实现下面的效果?
结果图
A3

USE data1;

SELECT 
  `first_name` AS 名,
  `last_name` AS 姓,
  `salary` AS 工资
FROM
  employees ;

select语句语法

Q4 这段代码运行后

USE data1;

SELECT 
  `first_name` AS 名,
  `last_name` AS 姓,
  `salary` AS 工资,
FROM
  employees ;

结果是:
结果图
错在哪里?怎么改?
A4 错在 多了个逗号 语句中不能多或者少一个逗号

USE data1;

SELECT 
  `first_name` AS 名,
  `last_name` AS 姓,
  `salary` AS 工资
FROM
  employees ;

或者你这么写更简洁:

USE data1;

SELECT 
  `first_name` 名,
  `last_name` 姓,
  `salary` 工资
FROM
  employees ;

计算表达式 执行函数

Q5 SELECT 语句还有别的作用嘛:
A5 类似运行 可以算表达式 可以执行函数:
结果图
结果图

DISTINCT 去重

想要所有的编号

use data1;
SELECT `department_id` FROM employees;

在这里插入图片描述
明显重复了 这时采用 distint:

USE data1;
SELECT DISTINCT `department_id` FROM employees;

在这结果图图片描述

CONCAT 连接字符串

我觉得last_name first_name 太麻烦了 合并怎么样呢?于是:

USE data1;
SELECT DISTINCT 
  CONCAT(`last_name`, `first_name`) AS 名字,
  `salary` AS 工资
FROM
  employees ;

这里sql语句的+号没有连接字符串功能 于是只能用concat
在这里插入结果图描述
另外 如果想要添加其他字符串 记得用上引号
在结果图插入图片描述
不要和` 搞混了

IFNULL 函数用法

结果图插入图片描述

例题

实现
结果图入图片描述
难点在于 concat会在遇到NULL的时候就把整个字符串变为NULL
即 NULL + ‘string’ = NULL
所以利用IFNULL进行一个转义的操作

USE data1;
SELECT 
  CONCAT(
    `first_name`,
    ',',`last_name`,
    ',',IFNULL(`manager_id`,0),
    ',',IFNULL(`job_id`,0),
    ',',IFNULL(`email`,0),
    ',',IFNULL(`commission_pct`,0)) 职工基本情况

FROM employees;

这里还有个更加优雅的用法:
WS - with separator

USE data1;
SELECT 
  CONCAT_WS(','
    `first_name`,
    `last_name`,
    IFNULL(`manager_id`,0),
    IFNULL(`job_id`,0),
    IFNULL(`email`,0),
    IFNULL(`commission_pct`,0)) 职工基本情况

FROM employees;

这样是不是会方便很多呢?

总结 ´◡`

学习这些关键字至关重要——因为后面的数据查询还有其他语言比如DDL DML或多或少都会用到
也就是 关键字是通用


版权声明:本文为weixin_43178828原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。