首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【MySQL】多表联合查询、连接查询、子查询「建议收藏」

文章目录 【1】连接查询 内连接查询 外连接查询 左连接 右连接 【2】联合查询 【3】子查询 带in关键字的子查询 带比较运算符的子查询 带exists的子查询 带any关键字的子查询 带all关键字的子查询...【1】连接查询 连接查询的意义: 在用户查看数据的时候,需要显示的数据来自多张表....内连接查询 内连接查询是最常见的连接查询,内连接查询可以查询两张或两张以上的表 内连接:[inner] join:从左表中取出每一条记录,去右表中与所有的记录进行匹配: 匹配必须是某个条件在左表中与右表中相同最终才会保留结果...联合查询 联合查询结果是将多个select语句的查询结果合并到一块因为在某种情况下需要将几个select语句查询的结果合并起来显示。...联合查询order by的使用 在联合查询中: order by不能直接使用(不能出现两次),需要对查询语句使用括号才行; select *from student where sex="woman

4.8K20

MySQL数据高级查询之连接查询、联合查询、子查询

一、连接查询 1、交叉连接:CROSS JOIN 把表A和表B的数据进行一个NM的组合,即笛卡尔积。如本例会产生44=16条记录,在开发过程中我们肯定是要过滤数据,所以这种很少用。...:**略(基本不用自然连接) ** 二、联合查询 ** 1、**联合查询:**将多次查询(多条select语句), 在记录上进行拼接(字段不会增加) 基本语法:多条select语句构成: 每一条select..., 跟数据类型无关 SELECT * FROM t1 UNION all SELECT * FROM t2 联合查询的意义: 查询同一张表,但是需求不同: 如查询学生信息, 男生身高升序, 女生身高降序...FROM t2 WHERE `name`="大圣" UNION all SELECT * FROM t2 WHERE `name`="aa" Order by使用 在联合查询中: order by...FROM t11 WHERE name='科技') 列子查询 行子查询 表子查询 Exists子查询 参考文章:MySQL数据高级查询之连接查询、联合查询、子查询 发布者:全栈程序员栈长,转载请注明出处

6.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql子查询和连接查询(大数据联合计算)

    一、连接查询 1、交叉连接:CROSS JOIN 把表A和表B的数据进行一个NM的组合,即笛卡尔积。如本例会产生44=16条记录,在开发过程中我们肯定是要过滤数据,所以这种很少用。...:**略(基本不用自然连接) ** 二、联合查询 ** 1、**联合查询:**将多次查询(多条select语句), 在记录上进行拼接(字段不会增加) 基本语法:多条select语句构成: 每一条select..., 跟数据类型无关 SELECT * FROM t1 UNION all SELECT * FROM t2 联合查询的意义: 查询同一张表,但是需求不同: 如查询学生信息, 男生身高升序, 女生身高降序...FROM t2 WHERE `name`="大圣" UNION all SELECT * FROM t2 WHERE `name`="aa" Order by使用 在联合查询中: order by...FROM t11 WHERE name='科技') 列子查询 行子查询 表子查询 Exists子查询 参考文章:MySQL数据高级查询之连接查询、联合查询、子查询 发布者:全栈程序员栈长,转载请注明出处

    1.6K10

    Mysql数据库--聚合查询、分组查询、联合查询(不同的连接方式)

    ,但是因为这个是查询结果的插入,所以就可以直接把两个语句合并了,查询发现这个是成功的; 但是上面的这个查询结果的直接插入显然是有局限性的,就是两个表的结构必须是一样的,否则这个插入注定无法成功,我们的两个表都是只有这个...id和name两列,因此这个是可以把我们查询到的结果直接插入的; 1.2聚合查询 聚合查询的这个里面主要就是我们的这个sum,count,min,max等等之类的这个函数的用法添加到了我们原来的这个语句里面去罢了...= ‘张三’ group by role having avg(salary) < 20000; 1.4联合查询之笛卡尔积 想要知道这个联合查询,我们时候选要来学习一下这个笛卡尔积 下面的这个是两张表:...我们首先要知道需要合并那两个表,一个就是我们学生表(因为是许仙同学),一个就是分数表(因为要找的是成绩) 我们的这个联合查询也是很简单的,就是使用的这个 select * from student,score...,右外连接介绍join on 上面介绍的这个内容都是属于内连接,实际上我们还有外连接等连接方式,其中这个外连接里面还分为这个左外连接和右外连接; 在下面的这个表里面,如果我们的右边的这个表里面的这个4换成

    25610

    Oracle 高级查询-【联合语句】【联合查询】【层次查询】

    distinct 获取唯一性记录 order by 子句 group by 子句 having 子句 子查询 联合语句 union 查询 union all 查询 intersect 查询 minus...查询 联接查询 等值联接 不等值联接 内连接 外联接 左联接 右连接 完全连接 自连接 层次化查询 Orcle高级查询 DDL:数据定义语言 — CREATE、ALTER、DROP、TRUNCATE...子查询可以使用子查询的位置 : where,select,having,from 不可以使用子查询的位置:group by 一般不在子查询中使用排序 联合语句 联合语句是指两个或多个select...这些联合语句包括以下几种:union 查询,union all 查询,intersect 查询 minus 查询 union 查询 union 查询是指两个查询结果集进行并集操作,并将重复记录剔除...完全连接 自连接 核心:通过别名,将同一张表视为多张表 select a.name_a,b.nameb from table_name a,table_name b where 条件 注意 不适合操作大表

    2.2K20

    MySQL联合查询

    zhangsan同学的考试信息: select time, score from exam where uid=1 and cid=2; 内连接合并两次查询的结果 由于是查询学生表和考试表公共的部分,索引使用...,我们再次使用内连接,连接3张表,查询带有课程名的信息 select stu.uid, stu.name, stu.age, stu.sex, ex.time, ex.score, co.cname from...,可以使用select属性的数量也会影响查询的速度,也可以使用条件过滤where 加快查询,现在我们介绍使用内连接优化查询 能不能在查询多个属性的情况下,还能花费较少的时间呢?...内连接优化查询 优化原理:由于生成小表(临时表)的时候使用了带有索引的属性id,故生成小表很快,接着用小表的数据在大表t_user里面匹配id,也使用了索引,故能加快查询 select a.id, a.email...先根据数据量确定大表和小表,小表永远是整表扫描,拿着小表的uid去大表搜索uid。很明显,由于小表永远是整表扫描,无需使用索引,我们一般给大表建索引加快搜索。

    23531

    MySQL(联合查询、子查询、分页查询)

    目录 联合查询 子查询 分页查询 联合查询 联合查询是指将多个查询结果合并成一个结果集(二维表),通常出现在统计分析中。 语法: 查询语句1 UNION 查询语句2 UNION ......子查询分类: 按结果及行数分: 1、 标量子查询(单行子查询:结果集只有一行一列) 2、 列子查询(多行子查询:结果集多行一列) 3、 行子查询(结果集有多行多列) 4、 表子查询(结果集有多行多列)...按出现位置分: 1、 SELECT 后面:只能出现标量子查询 2、 FROM 后面:表子查询(查询结果必须起别名) 3、 WHERE|HAVING:支持标量子查询,列子查询,行子查询 4、 EXISTS...NOT IN(SELECT user_id FROM b_order); ANY|SOME t1中有5条记录,每一行的s1去和(select s1 from t2)每一行s1去比较,只要有t1中的s1大于...去和(select s1 from t2)每一行s1去比较,必须t1中的s1大于t2中的所有的s1,那么当前行满足查询条件 SELECT s1 FROM t1 WHERE s1 > ALL(select

    16.4K20

    高级SQL查询-(聚合查询,分组查询,联合查询)

    by 1,分组查询 2,分组条件查询having 3,SQL查询关键字执行顺序 三,联合查询(多表查询) 1,前置知识-笛卡尔积 2,内连接 2.1内连接语法 2.2示例分析 2.3内连接查询的问题...3,外连接 3.1左连接和右连接语法 示例分析 3.2左连接和右连接的区别 3.3on和where的区别 4,自连接 示例 5,子查询 示例 6,合并查询 (1)union的使用 (2)union all...查询以下数据: 查询姓名重复的员工信息 3,SQL查询关键字执行顺序 SQL查询关键字执行顺序 group by>having>order by>limit 三,联合查询(多表查询) 1...,前置知识-笛卡尔积 笛卡尔积是联合查询也就是多表查询的基础,那什么是笛卡尔积呢?...t2 [on 连接条件]; 右连接以右边的表为主查询数据 示例分析 查询所有人的成绩 1,使用左连接查询,student表为主表 2,使用右连接查询,score_table表为主表

    4.4K10

    【MySQL篇】聚合查询,联合查询

    显示平均工资大于10000的角色和它的平均工资 联合查询  实际开发中往往数据来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积 啥是笛卡尔积?...笛卡尔积(CROSS JOIN):将两个表中的每一行与另一表的每一行进行组合,生成结果集的行数是两个表行数的乘积,通常会产生非常大的结果集。...同学的名称 课程的名字 以及课程的成绩 提取关键词:成绩在score表  同学在student表 个人信息在course表 select * from student,course,score; 数据相当大...如果联合查询,左侧的表完全显示我们就说是左外连接;右侧的表完全显示我们就说是右外连接。...内连接: 左外连接: 右外连接: 当对应不存在的列 会用null填充 3 自连接 自连接是指在同一张表连接自身进行查询。

    9710

    sqlserver 多表联合查询

    数据库查询时,对单表的查询很难满足需求,通常都需要多表联合查询。多表连接大致分为内连接和外连接。...内连接和外连接的区别主要体现在返回数据上,内连接返回的是符合连接条件和查询条件的记录,外连接返回的数据包含了不符合连接条件没有建立关联的记录。...内连接 A表和B表通过id字段建立连接,返回的是A中id和B中fid相等的记录。字段是A和B中字段的全部,也可以挑选其中的某几个字段。 select A....外连接 外连接分为左外连接、右外连接和全外连接。 左外连接 返回左表中的所有记录和右表中符合连接条件的记录。A为左表,B为右表。 select A.....* from A right outer join B on A.id=B.fid 全外连接 返回左右两个表中的所有记录。如果满足连接条件左右两表中的记录合并为一条。

    2.3K10

    MYSQL多表联合查询

    于此对应的是我们在进行后台的丰富数据查询时就需要合并表进行查询,今天特意整理一下使用JOIN进行多表联合查询的注意点。...在多表查询时,我们会遇到某个表 对应项目为空时的情况, 这时根据JOIN方式就会有不同的结果。...屏蔽数据表内AND 过滤筛选WHERE最后 虽然我们可以用INNER+表内条件的方式来进行筛选,但是这里推荐的是 如果要筛选就全部写在WHERE语句中,这样在查询的时候MYSQL会优化查询减少整体的运算量...在使用JOIN查询的时候我们还会有统计行数的需求,为了减少MYSQL服务器的计算量,其实这里我们也可以做一些优化。...这个时候我们不可避免的还是要使用联合查询。 可以优化的就是将不参与筛选的表从中移除,这样以便于优化查询效率。

    2.7K40

    SQL service基础(四)连接查询、自身连接查询、外连接查询和复合条件连接查询

    实验目标: 1.掌握涉及一个以上数据表的查询方法。 2.掌握等值连接 3.掌握自然连接 4.掌握非等值连接 5.掌握自身连接、外连接和复合条件连接 本次实验sql脚本: INSERT [dbo]....该题是通过连接谓词“=”完成两表的等值连接,请将此题改成用JOIN为关键字的内连接,将相应的SQL语句描述,from子句可参考以下格式: 2.完成查询每门课程的课程号、任课老师姓名及其选课人数,请回答以下问题...:  请将查询到的信息截图 ① 此题哪几个表进行连接,连接的条件分别是什么?...: ① 请将查询到的信息截图 请将此题改成用JOIN为关键字的内连接,将相应的SQL语句描述。...② 请查询只选修了“微机原理”的学生姓名、系名,请将查询到的信息截图。 ③ 再把两个结果连接起来,现在是不是就得到了此题的结果,请把结果截图。

    2.3K10

    MySQL多表联合查询

    1、多表联合查询 1.1 什么是多表联合查询 多表联合查询就是同时查询两个或两个以上的表。 在 MySQL 中,多表联合查询主要有交叉连接、内连接、外连接、分组查询与子查询等5种。...交叉连接可以查询两个或两个以上的表,为了更好的理解,使用两个表的连接查询。...ON 子句:用来设置右连接的连接条件,不能省略。 注意 右连接以"表2"为基表,"表1"为参考表。右连接查询时,可以查询出"表2"中的所有记录和"表1"中匹配连接条件的记录。...扩展 子查询的功能也可以通过表连接完成,但是子查询会使 SQL 语句更容易阅读和编写。 一般来说,表连接(内连接和外连接等)都可以用子查询替换,但反过来却不一定,有的子查询不能用表连接来替换。...子查询比较灵活、方便、形式多样,适合作为查询的筛选条件,而表连接更适合于查看连接表的数据。

    10.6K50

    MySQL--子查询与联合查询

    十二、子查询 子查询就是一个查询中包含某一个查询 select 列名 from 表名 where 条件 12.1 出现在列的位置上 select studentName from student s...subject sub where s.studentNo=r.studentNo and sub.subjectNo=r.subjectNo) newstu 12.3 出现在条件的位置上 ##查询出比熊大的...select studentResult from result where studentNo = (select studentNo from student where studentName='熊大'...maxr where r.subjectNo=maxr.subjectNo and r.examDate= maxr.maxdate) newr order by subgradeid desc 十三、联合查询...一个查询结果中包含有多张表中的字段数据 内连接: 两张表中关联字段相等的数据记录查询出来 语法:from 表1 别名1 inner join 表2 别名2 on 别名1.关联字段=别名2.关联字段

    25320
    领券