MySQL基础之查询(一)
2023-06-13 09:11:19 时间
SELECT * FROM employees WHERE employee_id BETWEEN 120 AND 100;
3.in
含义:判断某字段的值是否属于in列表中的某一项
特点:
①使用in提高语句简洁度
②in列表的值类型必须一致或兼容
③in列表中不支持通配符
案例:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
```mysql
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');
4、is null
=或<>不能用于判断null值 is null或is not null 可以判断null值
案例1:查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct IS NULL;
#----------以下为错误写法
SELECT
last_name,
commission_pct
FROM
employees
WHERE
salary IS 12000;
安全等于 <=>
案例1:查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct <=>NULL;
案例2:查询工资为12000的员工信息
SELECT
last_name,
salary
FROM
employees
WHERE
salary <=> 12000;
is null pk <=>
- IS NULL:仅仅可以判断NULL值,可读性较高,建议使用
- <=> :既可以判断NULL值,又可以判断普通的数值,可读性较低
三、排序查询
语法:
select 查询列表
from 表名
【where 筛选条件】
order by 排序的字段或表达式;
特点: 1、asc代表的是升序,可以省略 desc代表的是降序
2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段
3、order by子句在查询语句的最后面,除了limit子句
3.1、按单个字段排序
SELECT * FROM employees ORDER BY salary DESC;
3.2、添加筛选条件再排序
案例:查询部门编号>=90的员工信息,并按员工编号降序
SELECT *
FROM employees
WHERE department_id>=90
ORDER BY employee_id DESC;
3.3、按表达式排序
案例:查询员工信息 按年薪降序
SELECT *,salary*12*(1+IFNULL(commission_pct,0))
FROM employees
ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;
3.4、按别名排序
案例:查询员工信息 按年薪升序
SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪
FROM employees
ORDER BY 年薪 ASC;
3.5、按函数排序
案例:查询员工名,并且按名字的长度降序
SELECT LENGTH(last_name),last_name
FROM employees
ORDER BY LENGTH(last_name) DESC;
3.6、按多个字段排序
案例:查询员工信息,要求先按工资降序,再按employee_id升序
SELECT *
FROM employees
ORDER BY salary DESC,employee_id ASC;
相关文章
- MySQL查看所有表大小:一步搞定!(mysql查询所有表大小)
- MySQL执行语句的正确姿势(mysql执行语句)
- 解决MySQL数据库乱码问题:改用GBK编码(mysql乱码gbk)
- 解析MySQL函数返回类型指南(mysql函数返回类型)
- MySQL查询当前时间的方法(mysql的获取当前时间)
- 数据库一步步操作,完全删除MySQL数据库(完全删除mysql)
- MySQL查询:学习内置函数的使用(mysql查询函数)
- MySQL多字段查询实现技巧(mysql多字段查询)
- MySQL查询表中列名称的方法(mysql获取表的列)
- MySQL存储过程实现随机数的生成(mysql存储过程随机数)
- MySQL查询字段的使用技巧(mysql查询字段)
- MySQL入门指南:简单易懂的使用教程(如何mysql)
- MySQL格式修改:优化数据的方法(mysql修改格式)
- MySQL 使用表别名AS来简化查询(mysql表别名as)
- 如何使用MySQL索引优化查询(mysql索引例子)
- MySQL 抢先设置的默认事务隔离级别(mysql 默认事物级别)
- 如何彻底卸载绿色MySQL?(绿色mysql卸载)
- MySQL在LVS环境下的运用(mysql lvs)
- Mysql主键的作用与使用方法(mysql中主键的值)
- MySQL查询:掌握别名的使用(mysql查询别名)
- MySQL表中使用IN命令优化索引,提高查询效率(mysql中in命中索引)
- MySQL中快速查找的C编写的查询语句(c mysql查找语句)
- 一键使用 MySQL 57 版本,免受安装之苦(5.7mysql免安装)
- MySQL函数的使用方法简介(mysql中函数如何使用)
- MySQL 数据库三种关系解析(mysql三种关系)
- MySQL实现一对多连接的方法(mysql 一对多连接)
- 使用MySQL Workbench与Yog管理数据库(mysql_yog)
- 怎样解决MySQL下载速度缓慢的问题(mysql下载还在下载)