01_MySQL DQL_基础查询

DQL,Data Query Language,数据查询

# 基础查询
/*
语法:
select 查询列表 from 表名;

特点:
1、查询列表可以是:表中的字段,常量值、表达式、函数,也可以是多个组合
2、查询结果是1个虚拟表格,供查看
*/
USE myemployees;

#1.查询表中的单个字段
SELECT last_name FROM employees;

#2.查询表中的多个字段
SELECT last_name,salary,email FROM employees;

#3.查询表中的所有字段
SELECT * FROM employees;

#4.查询常量值, 字段名也显示为常量值(没什么卵用)
SELECT 100;
SELECT 'zhangjin';
注意:字符型和日期型常量必须使用单引号,数值型不需要

#5.查询表达式:字段名为表达式,字段值为计算结果
SELECT 100*98;
SELECT 100%98;
注意:复杂的运算,++ --不支持

#6.查询函数: 字段名为函数(),字段值为函数执行结果
SELECT VERSION();
SELECT DATABASE();
注意:select必须写,就是用select来触发函数执行
mysql中的函数一定有返回值

#7.字段起别名:
/*
1)查询结果中的字段名就显示为别名,便于识别
2)简化过长的字段名
3)区分重名的字段,使用别名(多表查询)
*/

#方式一:使用as
SELECT VERSION() AS sqlversion;
SELECT last_name AS 姓, first_name AS 名 FROM employees;

#方式二:省略as, 使用空格
SELECT last_name 姓, first_name 名 FROM employees;

#案例:查询salary,显示结果为out put
#别名中有特殊字符(空格,#),使用“”
SELECT salary AS "out put" FROM employees;

#8.去重
#案例:查询员工表中涉及到的所有部门编号
SELECT DISTINCT department_id FROM employees;
注意:不支持多字段去重,原因在于多个字段去重后表格会出现不规则的情况(a,10行,b 20行)

#9.+号的作用
/*
Java中的+: 连接字符串,数字运算
MySQL中的+: 只有数字运算(尝试将字符转换为数字,然后做加法;转换失败,则将字符转为0)
只要一方为null,则+结果也为null

select null+123;
*/

#案例:查询员工名和姓,连接为1个字段,并显示为 姓名
#字符拼接函数:concat(str1,str2,...)
SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;

#10 替换null

# 将为null的commission_pct替换为0
SELECT IFNULL(commission_pct,0) AS commission FROM employees;

# 将替换后的commission_pct用于结果拼接 (否则concat结果也为Null)
SELECT CONCAT(employee_id, ',',last_name, ',', IFNULL(commission_pct,0)) AS "OUT_PUT"
FROM employees;

#11 判断null
isnull(commission_pct)
判断某个字段是否为null, 是则返回1,否则返回0

原文地址:https://www.cnblogs.com/shay-zhangjin/p/7897156.html