mysql 多表并列查询_Mysql多表查询(两张独立表,一张关系表)
标签:
一、数据库设计
1、三个数据表长这样
其中user表记录用户信息,cat主要记录男女性别,mete表是用户id和性别id的对应关系
2、具体数据如下
二、查询目标
查询出所有性别为“男”的用户的“姓名”,如下记录两种不同形式的查询
1、单纯的条件查询
SQL:select user.value from user where user.uid in (select mete.uid from mete where mete.cid=1)
结果:
语句解释:
先使用select mete.uid from mete where mete.cid=1语句在mete表中,查找到所有“男”的uid(这里默认我们已经知道cid=1代表男性),再通过条件查询,与上句查询结果进行比对,从而显示出user表中的所有男性名字。
2、使用连接查询,条件显示所有用户的姓名和对应的性别
SQL:select U.value,C.value from mete as M join cat as C on C.cid=M.cid join user as U on U.uid=M.uid
结果:
语句解释:使用到了内联查询,只输出包含连接条件的数据行,从左往右看,可以理解为先将mete表与cat表连接,通过条件C.cid=M.cid,形成了一个性别类型匹配的新表,新表再和user表连接,通过U.uid=M.uid ,形成了一个姓名匹配的表,此时这三张表就联合形成了一个性别类型、名称类型一一对应的表,长得是这样,
再通过select语句,选出了我们想要的姓名和性别对应的表。
注:如上是内联查询,只输出满足所有条件的数据,也可以通过外联查询,不对数据过滤,只对数据组合的新表
SQL:select * from mete as M left join cat as C on C.cid=M.cid left join user as U on U.uid=M.uid
语句解释:在join前加left/right,则可以使用外联查询,不同的是连接的表组和后输出左表(右表)中不符合条件的记录,如下
标签:
mysql 多表并列查询_Mysql多表查询(两张独立表,一张关系表)相关推荐
- mysql连表条件查询_mysql带条件查询,联表查询
---恢复内容开始---mysql 1,用于设定所select出来的数据是否容许出现重复行(彻底相同的数据行)sql all:容许出现--默认不写就是All(容许的).spa distinct:不容许 ...
- Mysql 修改 复杂的汇总_MySQL数据分析:复杂查询
本篇文章内容为;MySQL的复杂查询,针对工作中常见的sql操作,提出自己的意见. 主题为:视图.子查询(包括标量子查询.关联子查询) 首先,我们依旧先进入提问环节:如果我们需要经常性的某列数据进行汇 ...
- mysql子查询教行子查询_MySQL中列子查询与行子查询操作的学习教程
MysqL 列子查询及 IN.ANY.SOME 和 ALL 操作符的使用MysqL 列子查询 列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如 ...
- mysql select符合查询_MySQL SELECT 联合查询
这里主要分享一下联合查询的用法. MySQL使用UNION和UNION ALL实现数据的联合查询. 假设有以下两个表: mysql>select * from staff; +----+---- ...
- mysql数据库实验3查询_mysql数据库(3)-查询
数据库设计规范 查询 创建数据库.数据表 -- 创建数据库 create database python_test_1 charset=utf8; -- 使用数据库 use python_test_1 ...
- mysql select符合查询_mysql学习-select查询,子查询,联接查询,union,intersect,except联合...
先设定两个表格: 第一个表格user包含:user_id.username.age.sex 第二个表格toy包含:user_id.toyname 普通查询: 查询关键字:AS, SUM, DESC, ...
- MySQL列数不确定查询_MySQL的高级查询
高级查询: 1.连接查询 指把2张表或者多张表之间做一个连接,所有数据放在一个表里显示.适用于有外键关系的2张表或多张表.如果没有加外键关系,但是这2张表有联系,也可以加连接查询. sele ...
- mysql离散查询_mySQL数据库数据查询操作详解
查询数据: 简单查询: 1.查询所有数据: select * from 表名 #select * from info 查询所有列 2.查询指定列: select code,name from info ...
- mysql 视图查询_MySQL视图复杂查询详解
内容大纲:什么是视图查询 子查询 标量子查询 关联子查询 如何用SQL解决业务问题 各种函数 总结:知识点图解 视图什么是视图 视图存放的是SQL语句,而数据库表存放的是数据,使用视图时,会运行视图里 ...
- mysql 什么是子查询_MySQL之子查询
测试数据 create table emp (id int,name char(10),sex char,age int,dept_id int,job char(10),salary double) ...
最新文章
- 50位青年科学家获颁1.5亿大奖!3位大咖这样寄语
- Query采用each方法遍历
- 如何让Spring MVC显示自定义的404 Not Found页面
- LeetCode 4. Median of Two Sorted Arrays
- 路由和反向代理_试试这个Kubernetes HTTP路由器和反向代理
- 95-230-028-源码-WordCount走读-获取ExecutionGraph
- 使用php语言 统计字符串,php如何查询字符串长度
- 【每日算法Day 82】面试经典题:求第K大数,我写了11种实现,不来看看吗?
- 函数解素数求距离问题
- android接收红外传感器发送的脉冲信号,怎么判断红外发送和接收管?
- OpenWRT 使用USB 4G上网卡
- 想知道微信怎么做指纹支付开发?看这里!
- js弹窗确认取消php,JS实现删除时的确认弹窗
- App架构设计经验谈
- 用GetGlyphOutline搞字模
- Android WiFi only配置
- 打印机墨水添加方法(二)
- spring3+hibernate4配置连接池C3P0
- 敏捷个人2012.2月份线下活动报道:活出我的最好生活
- Yolov5系列(3)-loss解析
热门文章
- [Ajax] 如何使用Ajax传递多个复选框的值
- 【vim】vim常用命令
- 前端、后端、运维都能用的动态 json 数据管理神器,节省你大量的开发、设计数据库、运维的时间...
- [USACO09FEB]改造路Revamping Trails 分层最短路 Dijkstra BZOJ 1579
- vi/vim文本编辑器的使用
- Referrer Policy 介绍
- sql 如何把查询得到的结果如何放入一个新表中
- citirx for wincor configuration (citrix 7.5 setup with WI)
- css flexbox水平垂直
- cxf-2.4.1 webservice客户端调用代码