1,语句:mysql
SELECT 查询列表 FROM 表名
二、特色
1)查询列表能够是:表中字段、常量值、表达式、函数。
2)查询结果是一个虚拟表格。web
SELECT last_name FROM employees;
SELECT last_name, email FROM employees;
SELECT * FROM employees;
SELECT last_name AS 名 FROM employees;
SELECT last_name 名 FROM employees;
SELECT DISTINCT department_id FROM employees;
select 100+90; 两个操做数都为数值型,则作加法运算
select ‘123’+90;只要其中一方为字符型,试图将字符型数值转换成数值型
若是转换成功,则继续作加法运算
select ‘john’+90; 若是转换失败,则将字符型数值转换成0
select null+10; 只要其中一方为null,则结果确定为nullsql
而mysql中拼接使用CONCAT:svg
SELECT CONCAT(字段) FROM employees;
案例:查询员工名和姓链接成一个字段,并显示为 姓名函数
SELECT CONCAT(last_name,first_name) AS 姓名 FROM employees;
语句:spa
SELECT 查询列表 FROM 表名 WHERE 筛选条件;
分类:code
like
#案例1:查询员工名中包含字符a的员工信息xml
select * from employees where last_name like '%a%';
#案例2:查询员工名中第三个字符为e,第五个字符为a的员工名和工资排序
select last_name, salary FROM employees WHERE last_name LIKE '__n_l%';
#案例3:查询员工名中第二个字符为_的员工名token
SELECT last_name FROM employees WHERE last_name LIKE '_$_%' ESCAPE '$';
使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符以前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用:
WHERE ColumnA LIKE ‘%5/%%’ ESCAPE ‘/’
between and
#案例1:查询员工编号在100到120之间的员工信息
SELECT * FROM employees WHERE employee_id >= 120 AND employee_id<=100; #---------------------- SELECT * FROM employees WHERE employee_id BETWEEN 120 AND 100;
in
案例:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
SELECT last_name, job_id FROM employees WHERE job_id = 'IT_PROT' OR job_id = 'AD_VP' OR JOB_ID ='AD_PRES'; #------------------ SELECT last_name, job_id FROM employees WHERE job_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');
is null
#案例1:查询没有奖金的员工名和奖金率
SELECT last_name, commission_pct FROM employees WHERE commission_pct IS NULL;
语句:
select 查询列表 from 表 order by 排序列表【asc|desc】
asc 升序 desc降序 若是不写默认升序
按单个字段排序
SELECT * FROM employees ORDER BY salary DESC;
查询员工信息 按年薪降序
SELECT *,salary*12*(1+IFNULL(commission_pct,0)) FROM employees ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;
查询员工信息 按年薪升序
SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪 FROM employees ORDER BY 年薪 ASC;
查询员工信息,要求先按工资降序,再按employee_id升序
SELECT * FROM employees ORDER BY salary DESC,employee_id ASC;