基础查询
语法:
select 查询的列表 from 表名;
特点:
1、查询列表可以是:表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格(临时的不保存)
1、查询表中的单个字段
select 字段 from 表名;
select last_name from employees;
2、查询表中的多个字段
select 字段1,字段2... from 表名; # 字段之间使用","隔开,最后一个不用","
#顺序可以按照自己的需求来,不一定按照表中的顺序
select last_name,salary,email from employees;
3、查询表中的所有字段
方式一:
select * from 表名;
select * from employees;
方式二:
select 字段1,字段2... from 表名;
【注】:在查询或其他操作前,先启用所需要用的库
4、查询常量值
select 'Tom' # mysql 中不区分字符和字符串,只要是字符型的都是字符串,使用单引号括起来.
5、查询表达式
select 100*45;
select 100%95;
6、查询函数
select version();
7、起别名
1、便于理解
2、如果要查询的字段有重名的情况,使用别名可以区分开来
方式一:使用 as
select 操作字段(或常量值、表达式等) as 别名 from 表名;
select 100%98 as 结果;
select last_name as 姓,first_name as 名 from employees;
方式二:使用空格
select 操作字段(或常量值、表达式等) 别名 from 表名;
select last_name 姓,first_name 名 from employees;
案例:查询salary:显示结果为 out put
select salary as "out put" from employees; # 当别名中出现特殊字符如空格,井号等时,可以将别名使用双引号括起来。否则报错
8、去重 distinct
案例:查询员工表中涉及到的所有的部门编号
select department_id from employees; # 此时查询的是所有员工的部门编号,重复出现
# 若需要去重,则在字段前加个关键字 distinct
select distinct department_id from employees;
9、+ 号的作用
java 中的 + 号:
1、运算符:两个操作数都为数值型
2、连接符:只要一个操作数为字符串
mysql 中的 + 号:
仅仅只有一个功能:运算符
select 100+90; #两个操作数都为数值型,则做加法运算
select '123'+90; # 其中有一方为字符型,试图字符型数值转换成数值型,如果转换成功,则进行加法运算
select 'abc'+90; # 如果转换失败,则将字符型数值转换成0.
select null+0; #只要一方为null ,则结果必定为null
案例:查询员工名和姓连接成一个字段,并显示为 姓名
select last_name+first_name as 姓名 from employees; #在mysql中做拼接不能使用+号而是使用concat函数
在mysql中做拼接不能使用+号而是使用concat函数
# caoncat() 函数也是需要注意null值问题
select concat('a','b','c');
select concat(last_name,first_name) as 姓名 from employees;#select concat(last_name,' ',first_name) as 姓名 from employees;
测 试
- 下面的语句是否可以执行成功
select last_name , job_id , salary as sal
from employees;
- 下面的语句是否可以执行成功
select * from employees;
- 找出下面语句中的错误
select employee_id , last_name,
salary * 12 “ANNUAL SALARY”
from employees;# 注:所有符号字符都需使用英文状态下的
- 显示表 departments 的结构,并查询其中的全部数据
desc departments;
select * from departments;
- 显示出表 employees 中的全部 job_id(不能重复)
select distinct job_id from employees;
- 显示出表 employees 的全部列,各个列之间用逗号连接,列头显示成 OUT_PUT
select ifnull(可能为null的字段名 , 若为null返回的值) from 表名;
select
concat() as OUT_PUT
from
employees;