#进阶一:基础查询
/*
语法:
select 查询列表 from 表名;
查询的列表可以是:表中的字段,常量值,表达式,函数
查询的结果是一个虚拟的表
*/
#1.查询表中的单个字段
SELECT last_name FROM employees;
#2.查询表中的多个字段
SELECT `last_name`,`first_name`,`phone_number` FROM employees;
#3.查询表中所有字段(用鼠标一个一个双击加入)
#方法一:
SELECT `first_name`,`phone_number`,`email`,`last_name`,`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.起别名
#方式一:使用as
SELECT 100%98 AS 结果;
SELECT `last_name` AS 姓,`first_name` AS 名 FROM employees;
#方式二:使用空格
SELECT 100%98 结果;
SELECT `last_name` 姓,`first_name` 名 FROM employees;
#b别命中如果有特殊符号应用双引号引起
SELECT 100%98 "out put";
#8.去重
SELECT DISTINCT `department_id` FROM employees;
#9.加号的作用
/*
运算符
select 100+90; 如果两个数都是数值型的,则做加法运算
select '123'+1; 只要有一方为字符型,则试图将字符型转换为数值型
如果转换成功,则继续做加法运算
select 'john'+90; 如果转换失败,则将字符型转换为0
select null+10; 只要其中一方为null,结果就是null
*/
#将查询员工的姓和名连成一个字段,并显示为姓名
SELECT CONCAT(`last_name`,`first_name`) AS 姓名 FROM employees;
#显示表的结构
DESC `departments`;
#ifnull语句(如果前面的是null的话就用0代替)
SELECT IFNULL(`commission_pct`,0) FROM employees;
2.条件查询
#进阶二:条件查询
/*
语法:
select
查询列表(1)
from
表名(2)
where
条件(3)
执行顺序为(2)(3)(1)
*/
#一.按条件表达式筛选( >= <= <> = > < )
#案例一:查询工资大于12000的员工信息
SELECT * FROM employees WHERE `salary`>12000;
#二.按逻辑表达式筛选(and or not)
#查询工资在10000到20000之间的员工信息
SELECT * FROM employees WHERE `salary`>10000 AND `salary`<20000;
#三.模糊查询
/*
like 通配符: % 任意多个字符(包括0个) _ 任意单个字符
between and
in
is null is not null
*/
#1.like
#案例一:查询员工名中包含字符'a'的员工信息
SELECT * FROM employees WHERE last_name LIKE '%a%';
#案例二:查询奖金率不是null的员工信息
SELECT * FROM employees WHERE `commission_pct` LIKE '%%';
#案例三:查询员工名中第三个字母为n,第五个字母为l的员工信息
SELECT * FROM employees WHERE last_name LIKE '__n_l%';
#案例四:查询员工名中第二个字符为_的员工信息
SELECT * FROM employees WHERE last_name LIKE '_\_%';
SELECT * FROM employees WHERE last_name LIKE '_$_%' ESCAPE '$';
#2.between and(包括临界值,两个临界值不能调换顺序)
#查询员工编号在100到120之间的员工信息
SELECT * FROM employees WHERE `employee_id` BETWEEN 100 AND 120;
#3. in(in列表的之必须一致或兼容,且不能包含通配符)
#查询员工的工种编号是AD_PRES AD_VP IT_PROG中的员工的信息
SELECT * FROM employees WHERE `job_id` IN('IT_PROG','AD_VP','AD_PRES');
#4.is null is not null
#查询奖金率为null的员工
SELECT * FROM employees
1.基础查询#进阶一:基础查询/*语法:select 查询列表 from 表名;查询的列表可以是:表中的字段,常量值,表达式,函数查询的结果是一个虚拟的表*/#1.查询表中的单个字段SELECT last_name FROM employees;#2.查询表中的多个字段SELECT `last_name`,`first_name`,`phone_number` FROM employees;#3.查询表中所有字段(用鼠标一个一个双击加入) #方法一:SELECT `fi