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