mysql学习:进阶1:基础查询

原创
2021/03/22 00:05
阅读数 64
# 进阶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;

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
1 收藏
0
分享
返回顶部
顶部