DQL语言学习
进阶1:基础查询
语法:
select 查询列表 from 表名;
特点:
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`,
`email`,
`phone_number`,
`job_id`,
`salary`,
`commission_pct`,
`manager_id`,
`department_id`,
`hiredate`
from
employees*/
#可以按自定义顺序展示
SELECT * FROM employees;
#只能按默认顺序展示
4、查询常量值
SELECT 100;
SELECT 'john';
5、查询表达式
SELECT 100%98;
6、查询函数
SELECT VERSION();
7、识别名
/*
①便于理解
②如果查询的字段有重名的情况,使用别名可以区分开来
*/
#方式一:
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;#错误
SELECT salary AS "out put" FROM employees;
#如果别名中存在特殊符号用双引号
8、去重
#案例:查询员工表中涉及到的所有部门编号
SELECT DISTINCT department_id FROM employees;
#distinct用于去重
9、"+"作用
/*
mysql中
select 100+90; 两个操作数都为数值型,则进行加法运算
select '123'+90;只要一方为字符型,试图将字符型数值转换为数值型
如果转换成功,则继续做加法
select 'tom'+90;如果转换失败,则字符型数值为0
select null+90; 只要有一方为null则结果为null
*/
#案例:查询员工时将姓和名连接成一个字段并显示
SELECT
first_name + last_name AS 姓名
FROM employees;#错误
#当需要连接两个字符串时可以使用concat( , )关键字进行连接
SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;
测试题
显示出表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;
#涉及函数ifnull();
#判断列中数值是否为null;
IFNULL(`commission_pct`, 0);#当commission_pct列中有null时用0表示