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