# 进阶1:基础查询
/*
语法:
select 查询列表 from 表名;
类似于:System.out.println(打印东西);
特点:
1、查询列表可以是:表中的字段、产量值、表达式、函数
2、查询的结果是一个虚拟的表格
*/
use myemployees;
# 1. 查询表中的单个字段
select last_name from employees;
# 2. 查询表中的多个字段
select last_name,salary,email from employees;
# 3. 查询表中的所有字段
# 方式一:
select
employee_id,first_name,last_name,job_id,phone_number,salary,commission_pct,manager_id,department_id,hiredate
from
employees;
# 方式二:
SELECT * FROM `departments`
# 4. 查询常量值
select 100;
select 'john';
# 5. 查询表达式
select 100%98;
# 6. 查询函数
select version();
# 7. 起别名
/*
1、便于理解
2、如果要查询的字段有重名的情况,使用别名可以区分开来
*/
# 方式一 : 使用 as
select 100%98 as 结果;
select last_name as 姓,first_name as 名 from employees;
# 方式二 : 使用空格
select last_name 姓,first_name 名 from employees;
# 案例: 查询salary, 显示结果为 out put
select salary as "out put" from employees;
# 8. 去重
# 案例:查询员工表中中涉及到的所有的部门编号
select department_id from employees group by department_id;
select distinct department_id from employees;
# 9. +号的作用
/*
mysql 中的+号:
仅仅只有一个功能:运算符
select 100+90; 两个操作数都为数值型,则做加法运算
select '123'+90; 只要其中一方为字符型,试图将字符型数值转换成数值型。如果转换成功,则继续做加法运算。
select 'john'+90; 如果转换失败,则将字符型数值转换成0。
select null +10; 只要其中一方为null,则结果肯定为null。
*/
# 案例:查询员工名和姓连接成一个字段 ,并显示为 姓名
select concat('a','b','c') as 结果;
select concat(last_name,' ',first_name) as 姓名 from employees;
# 测试
# 1. 下面的语句是否可以执行成功
select last_name,job_id,salary as sal from employees;
# 答:可以
# 2. 下面的语句是否可以执行成功
select * from employees;
# 答:可以
# 3. 找出下面语句中的错误
select employee_id,last_name,salary*12 “ANNAL SALARY” from employees;
# 答: 逗号是中文的,双印号是中文的
select employee_id,last_name,salary*12 "ANNAL SALARY" from employees;
# 4. 显示表departments的结构,并查询其中的全部数据
# 答:
desc departments;
select * from departments;
# 5. 显示出表employees中全部的job_id(不重复)
select distinct job_id from employees;
# 6. 显示出表employees的全部列,各个列之间用逗号连接,列头显示成OUT_PUT
select concat('employee_id',',','first_name',',',ifnull(commission_pct,0)) as out_put from employees;