MySQL数据库8 -子查询,联合查询
一 使用IN关键字的子查询
问题: 查询游戏类型是'棋牌类' 的游戏的分数信息
- 游戏分数表中并未包含游戏类型信息
思路一:采用链接查询
思路二: 分两步进行,首先找到所以'棋牌类'游戏的编号,再以这一组编号为查询依据完成查询
select * from scores where gno in (select gno from games where gtype ='棋牌')
例:查询没有参与5号游戏的玩家QQ
select user_qq from users where user_qq not in (select user_qq from scores where gno=5)
二 使用exists 关键字的子查询
例:如果存在昵称为‘孙悟空’,则查询分数表中的数据
select * from scores where exists (select * from users user_name ='孙悟空')
三 联合查询
select _statement union[all] select_statement [union[all] select_statement][...n]
作用与特点:可以把多条查询语句所产生的结果集纵向连接为一体
有ALL关键字可以显示全部数据(即重复的也显示出来)
列的数量与类型都要兼容
select user_name from users
union
select gname from games
例:查询玩家表中所有女性玩家和生日为空的玩家
select * from users where user_sex='女'
union
select * from users where user_birthday is null
<<=====>> select * from users where user_sex='女' or select * from users where user_birthday is null
例:查询qq号是‘12302’的玩家所有分数并计算出总分数和平均分数,并显示到同一结果集中
select user_qq,gno,score from scores where user_qq='12302' union all select '总分',' ',sum(score) from scores union all select '平均分',' ',avg(score) from scores where user_qq='12302'
MySQL数据库8 -子查询,联合查询的更多相关文章
- mysql学习之路_联合查询与子查询
联合查询 联合查询:将多次查询(多条select语句)在记录上进行拼接(字段不会增加). 语法:多条select语句构成,每条select语句获取的字段必须严格一致(但是字段类型无关). Select ...
- MySQL的查询,子查询,联结查询,联合查询
MySQL的查询,子查询,联结查询,联合查询 一.mysql查询的五种子句where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) 二 ...
- MySQL数据库 —子查询,联合查询
一 使用IN关键字的子查询 1.查询游戏类型是'棋牌类' 的游戏的分数信息 游戏分数表中并未包含游戏类型信息 思路一:采用链接查询 思路二: 分两步进行,首先找到所以'棋牌类'游戏的编号,再以这一组编 ...
- MySql数据库之子查询和高级应用
MySql数据库中的子查询: 子查询:在一条select查询语句中嵌套另一条select语句,其主要作用是充当查询条件或确定数据源. 代码案例如下: 例1. 查询大于平均年龄的学生: select * ...
- mysql数据库中的多表查询(内连接,外连接,子查询)
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
- mysql数据库优化之开启慢查询日志
进入mysql数据库,使用 show variables like 'slow_query_log'; 查看是否开启了慢查询日志 value值为OFF,则慢查询日志没有开启,在开启慢查询日志之前,我们 ...
- python3使用pymysql模块,连接mysql数据库,实现新增、查询和更新操作
1.环境数据准备: python3环境.pymysql模块 mysql数据库:本次代码中用到的数据库为本地的testdb数据库,user表(表字段比较简单,只有主键id,手机号mobile,密码pas ...
- 你了解MySQL中的多表联合查询吗?
前言: 多表联合查询,其实就是我们MySQL中的join语句,经常会看到有人说join非常影响性能,不建议使用,你知道这是为什么呢?我们究竟可不可以用呢? 测试数据: CREATE TABLE `t2 ...
- Python与Mysql 数据库的连接,以及查询。
python与mysql数据库的连接: pymysql是python中对数据库的连接模块:因此应当首先安装pymysql数据库模块. 执行pip install pymysql 命令. 然后在pyth ...
随机推荐
- HTTP 源码解读
作用域:调用函数,访问变量的能力有关 作用域分为:局部和全局(在局部作用域里可以访问到全局作用域的变量,但在局部作用域外面就访问不到局部作用里面所设定的变量) 上下文:与this关键字有关 是调用当前 ...
- ActiveReport 同一单元格内图片跟文字按条件显示
ActiveReports支持提供Image控件来显示图片素材,Image控件的值可以为图像的二进制流,图像路径,或url等:而在很多情况下,图片是签名扫描文件,并不会一直有值.如果图片的值为空,则显 ...
- python——有一种线程池叫做自己写的线程池
这周的作业是写一个线程池,python的线程一直被称为鸡肋,所以它也没有亲生的线程池,但是竟然被我发现了野生的线程池,简直不能更幸运~~~于是,我开始啃源码,实在是虐心,在啃源码的过程中,我简略的了解 ...
- JavaScript中concat()方法
concat(参数) 用于数组之间的连接, arrayObject.concat(arrayX,arrayX,......,arrayX) 如: var a = [1,2,3]; document.w ...
- PE文件学习系列笔记四-C++实现PE文件的分析
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综述: 首 ...
- 8bit YUV4:2:2格式对应的颜色
红色:YCR YCB YCR YCB....分别为:51e6 515d 51e6 515d 绿色:YCR YCB YCR YCB....分别为:512b 513c 512b 513c 蓝色:YCR Y ...
- python之萌新入门的第一天
新人的挑战一:配置环境变量及正确地使用工具. 配置环境好难,照着教程做很简单,但是确定环境配置成功好难. 一开始运行helloworld程序的文件时一直出现SyntaxError:invaild sy ...
- 189. Rotate Array
Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array ...
- session放入缓存(redis)、DB
为什么要把SESSION保存在缓存 就php来说,语言本身支持的session是以文件的方式保存到磁盘文件中,保存在指定的文件夹中,保存的路径可以在配置文件中设置或者在程序中使用函数session_s ...
- [原创]WPF资源Binding自定义集合类。
简单介绍一下Wpf资源字典: 每个WPF界面元素都有一个名为Resource的属性,这个属性继承至FrameworkElement类,其类型为ResourceDictionary.ResourceDi ...