Mysql语句:查询
目录
DQL语言:(查询)
起别名:
去重(DISTINCT关键字)
mysql中的+号(运算符)
拼接字段(concat关键字)
条件查询
逻辑查询
like:模糊查询
BETWEEN AND模糊查询
in模糊查询
is,is not和安全等于<=>
ifnull和isnull的区别
排序查询
DQL语言:(查询)
基础查询:select 查询列表 from 表名
查询列表可以是:
- 表中的字段、常量值、表达式、函数;
- 查询的结果是一个虚拟的表格;
使用库 use employees;
查询表中单个字段
select last_name from employees;
查询表中多个字段(不同字段之间逗号隔开)
select last_name,salary,email from employees;
查询表中所有字段(*代表所有字段,顺序和原表一样)
select * from employees;
查询常量值 select 100; select 'john';
查询表达式 select 100%98;
查询函数 select VERSION();
起别名:
- 提高可读性,便于理解
- 如果要查询的字段有重名情况用别名可区分
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;
去重(DISTINCT关键字)
案例:查询员工表中涉及到的所有部门编号
select department_id from employees;
select DISTINCT department_id from employees;
mysql中的+号(运算符)
两个数都为数值型,则做加法运算
select 100+90;
其中一方为字符型,试图将字符型转换为数值型,成功则继续加法运算;失败则将 字符型数值转换成0
select '123'+90;
select 'join'+90;
其中一方为null,结果必为null
select null+0;
拼接字段(concat关键字)
select concat('a','b','c') as 结果;
select concat(last_name,first_name) as 姓名 from employees;
条件查询
语法:select 查询列表 from 表名 where 筛选条件;
1.按条件表达式筛选:> < = != <> >= <=
2.按逻辑表达式筛选 逻辑运算符 && || ! and or not
3.模糊查询 like、between and、in、is nullselect * from employees where salary>12000;
select last_name,department_id from employees where department_id!=90;
select last_name,department_id from employees where department_id<>90;
逻辑查询
--查询工资在10000到20000之间的员工名、工资及奖金
select last_name,salary,commission_pct from employees where salary>=10000 and salary<=20000;--查询部门编号不是在90到110之间,或者工资高于15000的员工信息
select * from employees where department_id<90 or department_id>110 or salary>15000;
select * from employees where not(department_id>=90 and department_id<=110) or salary>15000;
like:模糊查询
一般搭配通配符使用,可以判断字符型或数值型
通配符:% 代表任意个字符,包括0个
_ 代表一个字符--查询员工名中包含字符a的员工信息
select * from employees where last_name like '%a%';--查询员工名第二个字符为_的员工名(ESCAPE转义字符关键字)
select last_name from employees where last_name like '_$_%' ESCAPE '$';
BETWEEN AND模糊查询
包含临界值,大于等于左边小于等于右边
--查询员工编号在100到120之间的员工信息
select * from employees where employee_id >= 100 and employee_id <= 120;
select * from employees where employee_id BETWEEN 100 and 120;
in模糊查询
in 判断某字段的值是否属于in列表中的某一项(in列表的值类型必须统一或兼容)
--查询员工的工种编号是IT_PROG、AD_VP、AD_PRES中的一个原告名和工种编号
select last_name,job_id from employees where job_id = 'IT_PROG' or job_id = 'AD_VP' or job_id = 'AD_PRES';select last_name,job_id from employees where job_id in('IT_PROG','AD_VP','AD_PRES');
is,is not和安全等于<=>
--查询没有奖金的员工名和奖金率(=或<>不能用来判断null值)
select last_name,commission_pct from employees where commission_pct IS NULL;
--查询有奖金的员工名和奖金率
select last_name,commission_pct from employees where commission_pct IS NOT NULL;--安全等于<=>
select last_name,commission_pct from employees where commission_pct <=> NULL;
select last_name,salary from employees where salary <=> 12000;
--IS NULL仅仅判断null值,<=>既可以判断null值,又能判断普通数值但可读性较低
--查询没有奖金且工资小于18000的salary,last_name
select last_name,salary from employees where commission_pct IS NULL AND salary >= 18000;
--查询employees表中,job_id不为'IT'或者工资为12000的员工信息
select job_id,salary from employees where job_id <> 'IT' or salary = 12000;
ifnull和isnull的区别
--ifnull函数:判断某字段或表达式是否为null,如果为null则返回指定的值,否则返回原值
select ifnull(commission_pct,0) from employees;--isnull函数:判断某字段或表达式是否为null,如果是则返回1,否则返回0
select isnull(commission_pct),commission_pct from employees;
排序查询
select 查询列表 from 表 [where 筛选条件] order by 排序列表 asc(升序,可省)/desc(降序);
--案例:查询员工信息,按工资从高到低排序
select * from employees order by salary desc;
select * from employees order by salary asc;
select * from employees order by salary;
--案例:查询部门编号>=90的员工信息,按入职时间的先后进行排序
select * from employees where department_id >= 90 ORDER BY hiredate ASC;
--案例:按年薪的高低显示员工信息和年薪(按表达式排序)
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 年薪 DESC;
--案例:按姓名的长度显示员工的姓名和工资(按函数排序,LENGTH(str)获取字符字节长度)
select LENGTH(last_name) 字节长度,last_name,salary from employees ORDER BY LENGTH(last_name) DESC;
--查询员工信息,要求先按工资升序,再按员工编号降序(按多个字段排序)
select * from employees ORDER BY salary ASC,employee_id DESC;
Mysql语句:查询相关推荐
- 一条mysql语句查询出男女的人数
统计报表中,为了实现一条mysql语句查询出男女的人数,sql语句如下: #年末年龄统计表 select COUNT(case when info.sex = 'm' then sex end ) a ...
- mysql语句查询慢造成mysql卡死_MySQL数据库之一次MySQL慢查询导致的故障
本文主要向大家介绍了MySQL数据库之一次MySQL慢查询导致的故障 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 我们知道分析MySQL语句查询性能的方法除了使用EXPLAI ...
- MySql语句查询某一级节点的所有子节点
MySql语句查询某一级节点的所有子节点 在日常项目中,我们总能用到树型结构的数据,我们用代码去进行查询是比较麻烦的,这里提供一种sql语句查询父节点和子节点的方法. 说明:只能当前节点查出所 ...
- Mysql语句查询统计一天中每个小时数据的数量统计
mysql语句统计每个小时的订单总数 sql语句 Mysql 查询一天中每半小时记录的数量 sql语句 SELECT HOUR( e.create_time ) AS HOUR,count( * ) ...
- MySQL语句查询数据库数据并添加到Redis缓存
自从工作到现在已经四个月有余了,一直想要分享一下近期的所思所想,记录一下自己的成长,但碍于时间问题,并没有实现.今天终于有时间啦,那我就分享一个最近在做的东西. 目录 需求 做法 问题与解决 需求 从 ...
- mysql语句查询今天的数据_mysql查询当天所有数据sql语句
mysql查询当天的所有信息: select * from test where year(regdate)=year(now()) and month(regdate)=month(now()) a ...
- mysql语句 查询前5个_MySQL 查询语句--------------进阶5:分组查询
#进阶5:分组查询 /* select 分组函数,列(要求出现在group by的后面) from 表 [where 筛选条件] group by 分组的列表 [order by 子句] 注意: 查询 ...
- Excel链接mysql语句查询_Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件...
//2007和2010版本: 选择\ * 来自 OpenDataSource(\\" Microsoft.ACE.OLEDB.12.0", " Data =源" ...
- vbs用mysql语句查询数据库_vbs脚本实现window环境下的mysql数据库的备份及删除早期备份...
On error resume next Dim oShell,admin,pass,user,db,path,name admin="root" pass="gsl&q ...
最新文章
- android获取手机通讯录
- 大学生只会用C语言写简单的计算怎么办?
- SQL判断文件是否存在
- 品牌网络推广方案浅析网站改版时如何更好地规避降权风险?
- 安装Ubuntu时,遇到自定义交换空间swap大小设置问题
- 网络001 交换机基本配置
- python中的and与or
- 通过在Global.asax文件中配置Application来统计的方法
- 安全预警:独立发布的Oracle严重 CVE-2018-3110 公告
- 15年编程生涯,资深架构师总结的7条经验
- FPGA(FIR)数字信号处理
- 密码学 SM3算法 Python实现
- 江晓华:为火箭发射寻觅气象窗口
- 2022-2028年中国企业总部管理行业市场专项调查及投资前景分析报告
- 软件工程pert图_《软件工程》软件项目管理实验
- Digispark ATtiny85 单片机点灯大师之圣诞节彩灯Merry Christmas
- 正则匹配大于等于号与indexof结合
- Windows 10搭建FTP服务器
- 使用 JDB 调试 Android 应用程序
- 关于雪花算法id冲突的思考解决思路
热门文章
- 聚乳酸改性乳清白蛋白/肌白蛋白/豆清白蛋白/蓖麻蛋白/豌豆白蛋白1b ( PA1b)|蛋白偶联修饰
- nw.js 打开一个exe项目,再次点击快捷方式启动已经存在的exe到最前端 open file with existing app
- Sentieon软件UMI单分子标记处理模块发布,大幅提升准确度和速度
- 如何动态生成pdf文件?
- 史上最美的九首诗词,古人情绪今人如何懂
- bilibili 网页端如何关灯和开灯?
- 字节跳动 - 短视频内容理解与推荐竞赛
- eclipse快捷方式打不开
- 安全网关性能更超群?新华三 SecPath M9000采用思博伦解决方案实测得验证!
- java计算机毕业设计VUE教育网站设计与实现源码+mysql数据库+系统+lw文档+部署