1 基础查询
- 特点:
- 查询列表可以是:表中的字段,常量值,表达式,函数
- 查询的结果是一个虚拟的表格
- 语法:
SELECT `查询内容` FROM 表名;
注:查询的列名如果是MySQL的关键字,比如name,需要在列名两端加上着重号“`”
# 1.基础查询
SELECT
`dept_no`,
`dept_name`
FROM
departments;
# 2.查询常量
SELECT
100 % 5;
SELECT
'Join';
# 3.查询表达式
SELECT
100 % 11;
# 4.查询函数
SELECT
VERSION();
# 5.设别名
-- 1 as关键字
SELECT
`dept_no` AS `number`,
`dept_name` AS `name`
FROM
departments;
-- 2 字段后加空格和别名
SELECT
`dept_no` `number`,
`dept_name` `name`
FROM
departments;
# 6.去重(DISTINCT)
# 去重只能SELECT一个字段,多个字段时会出现查询结果不规则,报错
SELECT DISTINCT
`dept_no`
FROM
dept_emp;
2 + 号的作用
- Java中的加号:
- 运算符,两个操作数都为数值型
- 连接符,又要有一个操作数为字符串
- MySQL中的加号:仅仅具有运算符的功能
- 两个操作数均为数值型,则做加法运算
- 其中一方为字符型,则试图将字符型转换成数值型
- 转换成功:继续加法运算
- 转换失败:将字符型转换成0,继续加法运算
- 只要其中一方为null,则结果为null
# 7.加法运算符
SELECT
10 + 11,
'a' + 10,
'a' + 'a',
NULL + 10;
/*
运算结果:
21
10
0
null
*/
3 字符串连接函数(CONCAT)
# 8.字符串连接
SELECT
CONCAT('a', 'b', "cde");
4 IFNULL函数
# 9.IFNULL(可能为空的表达式,表达式为空时设定值)
# commission_pct的值可能为null,因此在拼接字符串的时候需要先进行判断,防止出现最终结果全为空的情况
SELECT
CONCAT(
emp.first_name,
' ',
emp.last_name,
' ',
IFNULL(emp.commission_pct, 0)
)
FROM
employees emp;