MySQL查询数据(超详细)
MySQL查询数据(超详细)
一、简单查询语句
select * from 表名 条件查询语句;
二、多表查询
多张表有同名字段出现在select语句中,同名字段必须带上 “表名 . 字段名”
同名字段必须带上表名
如:
select xxb1.学号,姓名,分数 from xxb1 a,cjb b where a.学号=b.学号;
内连接:
1.使用=符号
2.使用inner join…on…
3.使用join…on…
如:
select * from emp,dept where Dept_id=dept.id;
select * from emp join dept on Dept_id=dept.id;
select * from emp inner join dept on Dept_id=dept.id;
自身连接:
一个表与其自己进行连接;需要给表起别名以示区别
如:
select Qir.cno,Qir.cname, Qir.cpno,sec.cname from course Qir,course sec where Qir.cpno=sec.cno
外连接:
可以左向外连接、右向外连接,外连接是以左边或右边的表作为主表,把主表的内容都显示,从表没有的内容置为空处理
例如:主表 left join 表 ON a.no=b.no; 也可以换成left join
代码如下:
select s.sno,sname,sex,age,dept,cno,grade from student s left join sc ON s.sno=sc.sno
左连接:left join
右连接:right join
三、嵌套查询、子查询
from使用子查询:对数据来源的二次加工
如:
select * from xxb1 as a,(select max(语文) as x from cjb) as b where a."学号"=b.x;
在where中使用子查询
如:
select * from score where score=(select max(secre) from score);
在select中使用子查询
如:
select (select count(*) from score where score<60)/(select count(*) from score);
一般用于统计…率类的(如上班时间09:00后迟到的概率)
如:
(select count(*) from kq where substr(notime,12,5)>'09:00')/(select count(*) from kq);
嵌套查询
如:
select 字段 from 表名 where 条件 group by 分组 having 聚合函数的条件语句 order by 排序子句
四、case语句
用法1:case 表达式
when 值1 then 返回值
when 值2 then 返回值
…
end
说明:end表示结束,也可以加上else ‘默认值’
如:
select no,bir,(case year(bir)when '1998' then '小鲜肉'when '1997' then '鲜肉'when '1996' then '肉'else '腊肉'end) 个性化标志
from stu;
用法2:case
when 表达式 运算符 值1 then 返回值1
when 表达式 运算符 值1 then 返回值2
…
else 返回值
end
如:
select(case when year(bir)>'1999' then '小鲜肉'when year(bir)>='1995' and year (bir)<='1999' then '青葱岁月'when year (bir)>='1990' and year (bir)<'1995' then '风华正茂'else '未知' end) x,count(*)
from stu
group by x;
用嵌套查询的方法:
select a.分数段,count(*)
from(select(casewhen result>=60 and result<70 then '60~70'when result>=70 and result<80 then '70~80'when result>=80 and result<90 then '80~90'when result>=90 then '90以上'else '不及格'end) 分数段from grade) a
group by a.分数段;
MySQL查询数据(超详细)相关推荐
- MySQL查询数据表中数据记录(包括多表查询)
MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...
- 魔兽世界怀旧服服务器最新阵营比例,魔兽世界怀旧服9月下旬人口普查数据 超详细服务器阵营比例一览...
魔兽世界怀旧服马上9月份就要结束了,目前国服已经运营了一个月,在这期间开了很多服务器,一些玩家还不清楚到现在所有服务器的人口普查数据是多少,下面就来为大家分享一下. 魔兽世界怀旧服人口普查插件已经被修 ...
- mysql 查询数据 程序_MySQL 查询数据
MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...
- MySQL 查询数据
MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...
- mysql查询结果作为附件_python3+mysql查询数据并通过邮件群发excel附件
python3+mysql查询数据并通过邮件群发excel附件 来源:中文源码网 浏览: 次 日期:2018年9月2日 python3+mysql查询数据并通过邮件群发excel附件 本文 ...
- mysql查询数据的总记录数
mysql查询数据的总记录数 领导让获取数据库中的所有记录总数,网上查了一会,看到了很多都是不能执行,我这小性子安耐不住了,开始暴怒,最后的最后看下来应该缺少了一个关键字,还自以为是的想不知道是不是m ...
- MySQL查询数据后加上百分号%
MySQL查询数据后加上百分号% CONCAT(字段, '% ') mysql数字格式化千分号的问题,即每三位一个逗号 SELECT FORMAT('字段',2); mysql四舍五入的问题 roun ...
- 爬取医药卫生知识服务系统的药品数据——超详细流程
爬取医药卫生知识服务系统的药品数据--超详细流程 文章目录 爬取医药卫生知识服务系统的药品数据--超详细流程 前言 一.寻找药品数据 二.爬取药品ID 1.资源获取 2.数据提取 3.资源保存 4.主 ...
- MySQL高级查询语句——超详细,一篇就够了
MySQL高级查询语句 一.MySQL进阶查询 1.1.按关键字排序--order by 1.2.对结果进行分组--group by 1.2.1.单个分组 1.2.2.分组结合order by使用 1 ...
最新文章
- John Hopcroft、Bart Selman与张宏江展望“AI未来10年”
- postgresql数据表增删改:使用pgadmin和SQL的方式实现
- DELETE大批量数据的性能优化
- 前端JavaScript基础知识点
- 『设计模式』小伙你的穿搭很潮!--装饰者模式
- 《操作系统真象还原》-阅读笔记(中)
- (计算机组成原理)第五章中央处理器-第四节2:微程序控制器基本原理
- 双稳态电路的两个稳定状态是什么_电子电度表磁保持继电器里面是什么样呢?...
- 我国网络贸易组织新发展
- IPV6电视播放器V1.0.3
- 实验四:图像空间域锐化
- 8月App Store交友软件下载量TOP10,陌陌、觅伊、soul上榜
- DR、BDR、SBR、ASBR等名词的解释和原理
- springboot 将本地引用的lib一起打包
- 从“来现场POC”到“去线下店体验”:我的数据治理产品选型经历
- 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用java实现程序解决问题。
- 串行同步通信“时钟同步”怎么理解?
- 以太坊智能合约的原理和使用方法
- UNP读书笔记第一章
- leetcode 2413:最小偶数倍
热门文章
- 安卓中的设计模式举例
- 【Vulnhub】Five86-1
- 一个清华本科延期结业,到两年后成为IT小公司中层管理人员的黑暗游侠的经历
- Building Smart Campus with Office 365
- MySQL 启动失败的常见原因---发表到爱可生开源社区
- mysql启动失败:mysql服务无法启动 服务没有报告任何错误 解决方法
- 微信群运营7大运营要点,了解一下?
- 图片分辨率大小名字处理
- css3 3d x y z 轴,3D变形 CSS3 transform---rotateX(), rotateY(), rotateZ(), 透-站长资讯中心
- 【华为社招机试真题】一个正整数到Excel编号的转换[满分]