目录

DQL语言:(查询)

起别名:

去重(DISTINCT关键字)

mysql中的+号(运算符)

拼接字段(concat关键字)

条件查询

逻辑查询

like:模糊查询

BETWEEN AND模糊查询

in模糊查询

is,is not和安全等于<=>

ifnull和isnull的区别

排序查询


DQL语言:(查询)

基础查询:select 查询列表 from 表名

查询列表可以是:

  1. 表中的字段、常量值、表达式、函数;
  2. 查询的结果是一个虚拟的表格;

使用库        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();

起别名:

  1. 提高可读性,便于理解
  2. 如果要查询的字段有重名情况用别名可区分

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 null

select * 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语句:查询相关推荐

  1. 一条mysql语句查询出男女的人数

    统计报表中,为了实现一条mysql语句查询出男女的人数,sql语句如下: #年末年龄统计表 select COUNT(case when info.sex = 'm' then sex end ) a ...

  2. mysql语句查询慢造成mysql卡死_MySQL数据库之一次MySQL慢查询导致的故障

    本文主要向大家介绍了MySQL数据库之一次MySQL慢查询导致的故障 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 我们知道分析MySQL语句查询性能的方法除了使用EXPLAI ...

  3. MySql语句查询某一级节点的所有子节点

    MySql语句查询某一级节点的所有子节点 ​ 在日常项目中,我们总能用到树型结构的数据,我们用代码去进行查询是比较麻烦的,这里提供一种sql语句查询父节点和子节点的方法. ​ 说明:只能当前节点查出所 ...

  4. Mysql语句查询统计一天中每个小时数据的数量统计

    mysql语句统计每个小时的订单总数 sql语句 Mysql 查询一天中每半小时记录的数量 sql语句 SELECT HOUR( e.create_time ) AS HOUR,count( * ) ...

  5. MySQL语句查询数据库数据并添加到Redis缓存

    自从工作到现在已经四个月有余了,一直想要分享一下近期的所思所想,记录一下自己的成长,但碍于时间问题,并没有实现.今天终于有时间啦,那我就分享一个最近在做的东西. 目录 需求 做法 问题与解决 需求 从 ...

  6. mysql语句查询今天的数据_mysql查询当天所有数据sql语句

    mysql查询当天的所有信息: select * from test where year(regdate)=year(now()) and month(regdate)=month(now()) a ...

  7. mysql语句 查询前5个_MySQL 查询语句--------------进阶5:分组查询

    #进阶5:分组查询 /* select 分组函数,列(要求出现在group by的后面) from 表 [where 筛选条件] group by 分组的列表 [order by 子句] 注意: 查询 ...

  8. Excel链接mysql语句查询_Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件...

    //2007和2010版本: 选择\ * 来自 OpenDataSource(\\" Microsoft.ACE.OLEDB.12.0", " Data =源" ...

  9. vbs用mysql语句查询数据库_vbs脚本实现window环境下的mysql数据库的备份及删除早期备份...

    On error resume next Dim oShell,admin,pass,user,db,path,name admin="root" pass="gsl&q ...

最新文章

  1. android获取手机通讯录
  2. 大学生只会用C语言写简单的计算怎么办?
  3. SQL判断文件是否存在
  4. 品牌网络推广方案浅析网站改版时如何更好地规避降权风险?
  5. 安装Ubuntu时,遇到自定义交换空间swap大小设置问题
  6. 网络001 交换机基本配置
  7. python中的and与or
  8. 通过在Global.asax文件中配置Application来统计的方法
  9. 安全预警:独立发布的Oracle严重 CVE-2018-3110 公告
  10. 15年编程生涯,资深架构师总结的7条经验
  11. FPGA(FIR)数字信号处理
  12. 密码学 SM3算法 Python实现
  13. 江晓华:为火箭发射寻觅气象窗口
  14. 2022-2028年中国企业总部管理行业市场专项调查及投资前景分析报告
  15. 软件工程pert图_《软件工程》软件项目管理实验
  16. Digispark ATtiny85 单片机点灯大师之圣诞节彩灯Merry Christmas
  17. 正则匹配大于等于号与indexof结合
  18. Windows 10搭建FTP服务器
  19. 使用 JDB 调试 Android 应用程序
  20. 关于雪花算法id冲突的思考解决思路

热门文章

  1. 聚乳酸改性乳清白蛋白/肌白蛋白/豆清白蛋白/蓖麻蛋白/豌豆白蛋白1b ( PA1b)|蛋白偶联修饰
  2. nw.js 打开一个exe项目,再次点击快捷方式启动已经存在的exe到最前端 open file with existing app
  3. Sentieon软件UMI单分子标记处理模块发布,大幅提升准确度和速度
  4. 如何动态生成pdf文件?
  5. 史上最美的九首诗词,古人情绪今人如何懂
  6. bilibili 网页端如何关灯和开灯?
  7. 字节跳动 - 短视频内容理解与推荐竞赛
  8. eclipse快捷方式打不开
  9. 安全网关性能更超群?新华三 SecPath M9000采用思博伦解决方案实测得验证!
  10. java计算机毕业设计VUE教育网站设计与实现源码+mysql数据库+系统+lw文档+部署