语法:
select 查询列表 from 表名;
特点:
- 查询列表可以是: 表格中的字段, 常量值, 表达式, 函数
- 查询的结果是一个虚拟的表格
1.查询表中的单个字段
select last_name from employees;
2.查询表中的多个字段
select last_name, salary, email from employees;
3.查询所有字段
1.列出所有的字段
2.使用 *
用 `` 来区分字段和关键字
select `name` from student;
查询常量
select 100;
select 'john';
查询表达式
select 100%98;
查询函数
select version();
为字段起别名
1.使用 as
select 100 as a
2.使用空格
select 100 a
3.别名中有特殊符号(如空格,#等).
使用 ``, "", '' 来把别名包裹起来
select 100 as `a a`
select 100 as "a a"
select 100 as 'a a'
去重复
SELECT DISTINCT department_id from employees;
+号的作用
查询员工名和姓连接成一个字段, 并显示为姓名
select last_name + first_name as 姓名 from employees;
显示的都是0
java中的+号:
①运算符: 左右两边都是数值型
②连接符: 左右两边有一个是字符串
mysql中的+号:
只有运算符的功能
如果左右两边有不是数值型, 会将非数值型的尝试转换成数值.然后继续做运算
如果不能转换成数值.就会转换成数字 0
select 100+'20' //显示120
select 100+'a' //显示100
select 'a'+'b' //显示0
只要+号左右两边有一个为null,结果就为null
需要使用连接函数 CONCAT(str1, str2...)
select CONCAT(last_name, first_name) 姓名 from employees;
使用CONCAT函数时,只要有一个值为null,最后的结果就为null
ifnull 函数
select ifnull(commission_pct,0) as 结果 from employees;
select
CONCAT(
last_name,
first_name,
' ',
ifnull(commission_pct,'0')
) 姓名
from employees;
ifnull 函数,有2个参数
第一个参数是判断的值,
如果为null, 返回的结果就是第二个参数
如果不为null, 返回的结果就是第一个参数
可以理解成简化版的 if(参数1, 参数2, 参数3) 函数