标签:

一、数据库设计

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多表查询(两张独立表,一张关系表)相关推荐

  1. mysql连表条件查询_mysql带条件查询,联表查询

    ---恢复内容开始---mysql 1,用于设定所select出来的数据是否容许出现重复行(彻底相同的数据行)sql all:容许出现--默认不写就是All(容许的).spa distinct:不容许 ...

  2. Mysql 修改 复杂的汇总_MySQL数据分析:复杂查询

    本篇文章内容为;MySQL的复杂查询,针对工作中常见的sql操作,提出自己的意见. 主题为:视图.子查询(包括标量子查询.关联子查询) 首先,我们依旧先进入提问环节:如果我们需要经常性的某列数据进行汇 ...

  3. mysql子查询教行子查询_MySQL中列子查询与行子查询操作的学习教程

    MysqL 列子查询及 IN.ANY.SOME 和 ALL 操作符的使用MysqL 列子查询 列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如 ...

  4. mysql select符合查询_MySQL SELECT 联合查询

    这里主要分享一下联合查询的用法. MySQL使用UNION和UNION ALL实现数据的联合查询. 假设有以下两个表: mysql>select * from staff; +----+---- ...

  5. mysql数据库实验3查询_mysql数据库(3)-查询

    数据库设计规范 查询 创建数据库.数据表 -- 创建数据库 create database python_test_1 charset=utf8; -- 使用数据库 use python_test_1 ...

  6. mysql select符合查询_mysql学习-select查询,子查询,联接查询,union,intersect,except联合...

    先设定两个表格: 第一个表格user包含:user_id.username.age.sex 第二个表格toy包含:user_id.toyname 普通查询: 查询关键字:AS, SUM, DESC, ...

  7. MySQL列数不确定查询_MySQL的高级查询

    高级查询: 1.连接查询      指把2张表或者多张表之间做一个连接,所有数据放在一个表里显示.适用于有外键关系的2张表或多张表.如果没有加外键关系,但是这2张表有联系,也可以加连接查询. sele ...

  8. mysql离散查询_mySQL数据库数据查询操作详解

    查询数据: 简单查询: 1.查询所有数据: select * from 表名 #select * from info 查询所有列 2.查询指定列: select code,name from info ...

  9. mysql 视图查询_MySQL视图复杂查询详解

    内容大纲:什么是视图查询 子查询 标量子查询 关联子查询 如何用SQL解决业务问题 各种函数 总结:知识点图解 视图什么是视图 视图存放的是SQL语句,而数据库表存放的是数据,使用视图时,会运行视图里 ...

  10. mysql 什么是子查询_MySQL之子查询

    测试数据 create table emp (id int,name char(10),sex char,age int,dept_id int,job char(10),salary double) ...

最新文章

  1. 50位青年科学家获颁1.5亿大奖!3位大咖这样寄语
  2. Query采用each方法遍历
  3. 如何让Spring MVC显示自定义的404 Not Found页面
  4. LeetCode 4. Median of Two Sorted Arrays
  5. 路由和反向代理_试试这个Kubernetes HTTP路由器和反向代理
  6. 95-230-028-源码-WordCount走读-获取ExecutionGraph
  7. 使用php语言 统计字符串,php如何查询字符串长度
  8. 【每日算法Day 82】面试经典题:求第K大数,我写了11种实现,不来看看吗?
  9. 函数解素数求距离问题
  10. android接收红外传感器发送的脉冲信号,怎么判断红外发送和接收管?
  11. OpenWRT 使用USB 4G上网卡
  12. 想知道微信怎么做指纹支付开发?看这里!
  13. js弹窗确认取消php,JS实现删除时的确认弹窗
  14. App架构设计经验谈
  15. 用GetGlyphOutline搞字模
  16. Android WiFi only配置
  17. 打印机墨水添加方法(二)
  18. spring3+hibernate4配置连接池C3P0
  19. 敏捷个人2012.2月份线下活动报道:活出我的最好生活
  20. Yolov5系列(3)-loss解析

热门文章

  1. [Ajax] 如何使用Ajax传递多个复选框的值
  2. 【vim】vim常用命令
  3. 前端、后端、运维都能用的动态 json 数据管理神器,节省你大量的开发、设计数据库、运维的时间...
  4. [USACO09FEB]改造路Revamping Trails 分层最短路 Dijkstra BZOJ 1579
  5. vi/vim文本编辑器的使用
  6. Referrer Policy 介绍
  7. sql 如何把查询得到的结果如何放入一个新表中
  8. citirx for wincor configuration (citrix 7.5 setup with WI)
  9. css flexbox水平垂直
  10. cxf-2.4.1 webservice客户端调用代码