mysql#进阶1:基础查询
2020-04-19 本文已影响0人
弦好想断
/*
语法:
select 查询列表 from 表名;
类似于打印东西
特点:
1.查询列表可以是:表中的字段、常量值、表达式、函数
2.查询的结果是一个虚拟的表格
*/
1.查询表中的单个字段
use myemployees;d
show tables;
select last_name from employees;
2.查询表中的多个字段
select last_name,salary,email from employees;
3.查询表中的所有字段
,salary,hiredate
from employees;
select * from employees;
4.查询常量值
select 100;
select 'join';
5.查询表达式
select 100%98;
6.查询函数
select version();
7.起别名
/*
便于理解
如果要查询的字段有重名的情况,
使用别名可以区分开来
*/
方式一:使用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 distinct department_id from employees;
9.+号的作用
/*
java中 运算符 连接符
mysql中 仅仅只有一个功能 运算符
两个操作数都作为数值型,则做加法运算
只要其中一方为字符型,试图将字符型数值转换成数值型,转换成功继续做加法运算
如果转换失败,则将字符型数值转换为0
只要一方为null,则结果一定为null
*/
select 100+90;
select '120'+90;
select 'join'+90;
select null+90;
案例:查询员工名和姓连接成一个字段,宁显示为姓名
select last_name+first_name as 姓名 from employees;
select concat('a','b','c');
select concat(last_name,first_name) as 姓名 from employees;
测试
select employee_id,last_name,salary * 12 as "annual salary" from employees;
select employee_id,last_name,salary as "annual salary" from employees;
1.显示表departments的结果。并查询其中的全部数据
desc departments;
2.显示出表employees中的全部job_id(不能重复)
select distinct job_id from employees;
3.显示出表employees的全部列,各个列之间用逗号连接,列头显示为out_put
select concat(employee_id,',',first_name,',',last_name,',',email,',',phone_number,',',job_id,
',',salary,',',ifnull(commission_pct,0),',',manager_id,',',department_id,',',hiredate) as out_put
from employees;