`

mysql查询怪异问题

阅读更多

由于对数据库研究不是很深,最近在使用mysql时出现如下现象,做此笔记:
有test1 , test2 ,test3 三个表,表结构相同,分别有t1,t2两列,
数据如下:
   test1
    t1     t2
=========================================
    a      a1
    b      b1
    c      c1
==========================================
   test2
   t1      t2
=========================================
   a       a2
   b       b2
   c       c2
==============================================
   test3
   t1      t2
============================================
   a      a3
   b      b3
   c      c3
============================================

执行如下查询:
查询1:
  select a.* , b.* from test1 a , test2 b
结果是test1,test2两表做笛卡尔乘绩,结果为:
test1.t1 test1.t2 test2.t1 test2.t2
a                  a1                  a                  a2
b                  b1                  a                  a2
c                  c1                  a                  a2
a                  a1                  b                  b2
b                  b1                  b                  b2
c                  c1                  b                  b2
a                  a1                  c                  c2
b                  b1                  c                  c2
c                  c1                  c                  c2

查询2:
select a.*,b.*,c.*  from test1 a , test2 b,test3 c  where a.t1 =b.t1=c.t1 order by a.t1,b.t1
结果如下:
test1.t1           test1.t2           test2.t1            test2.t2           test3.t1        test3.t2
a                  a1                  b                  b2                  a                  a3
a                  a1                  b                  b2                  b                  b3
a                  a1                  b                  b2                  c                  c3
a                  a1                  c                  c2                  a                  a3
a                  a1                  c                  c2                  b                  b3
a                  a1                  c                  c2                  c                  c3
b                  b1                  a                  a2                  a                  a3
b                  b1                  a                  a2                  b                  b3
b                  b1                  a                  a2                  c                  c3
b                  b1                  c                  c2                  a                  a3
b                  b1                  c                  c2                  b                  b3
b                  b1                  c                  c2                  c                  c3
c                  c1                  a                  a2                  a                  a3
c                  c1                  a                  a2                  b                  b3
c                  c1                  a                  a2                  c                  c3
c                  c1                  b                  b2                  a                  a3
c                  c1                  b                  b2                  b                  b3
c                  c1                  b                  b2                  c                  c3
查询3:
select a.*,b.*,c.*  from test1 a , test2 b,test3 c  where a.t1 =b.t1 and  b.t1=c.t1
结果如下:
test1.t1         test1.t2           test2.t1                       test2.t2          test3.t1          test3.t2
a                  a1                  a                  a2                  a                  a3
b                  b1                  b                  b2                  b                  b3
c                  c1                  c                  c2                  c                  c3


上述三个查询,第一和第三个好理解。但第二个就有点不知所云了,mysql中做连等是不行的。具体原因等待高手来解决了。
分享到:
评论

相关推荐

    Mysql查询流程分析

    如果查询过程中没有出现任何问题,那么客户端将能够看到预期的查询结果。否则,如果出现了错误(比如权限不足),MySQL会返回相应的错误信息。 ### 总结 通过对MySQL查询流程的深入了解,我们可以更好地理解MySQL...

    mysql 树形结构查询

    mysql 树形结构查询 MySQL 树形结构查询是指使用存储过程来实现 MySQL 数据库中的树形结构查询。这种查询方式可以高效地查询树形结构的数据,并且可以根据需要设置递归深度。 MySQL 中的树形结构查询可以使用存储...

    sql查询优化(提高MySQL数据库查询效率的几个技巧)

    SQL 查询优化(提高 MySQL 数据库查询效率的几个技巧) 在 MySQL 数据库中,查询优化是一个非常重要的方面。在实际应用中,高效的查询可以提高整个系统的性能和响应速度。下面我们将介绍几个提高 MySQL 数据库查询...

    mysql CPU高负载问题排查

     在某个新服务器上,新建了一个MySQL的实例,该服务器上面只有MySQL这一个进程,但是CPU的负载却居高不下,使用top命令查询的结果如下: [dba_mysql@dba-mysql ~]$ top top - 17:12:44 up 104 days, 20 min, 2 ...

    数据库查询指令:mysql查询语句汇总+编程知识+技术开发

    mysql查询语句汇总,数据库查询指令:mysql查询语句汇总+编程知识+技术开发;mysql查询语句汇总,数据库查询指令:mysql查询语句汇总+编程知识+技术开发;mysql查询语句汇总,数据库查询指令:mysql查询语句汇总+...

    MySQL数据库查询中的like问题.pdf

    MySQL数据库查询中的like问题 MySQL 数据库查询中的like问题是指在使用like操作符时出现的多余数据的问题。这种问题是由于MySQL数据库的设计特点和中文汉字的双字节字符引起的。 在 MySQL 数据库中,使用like操作...

    解决MySql大数据Like查询慢的问题

    在MySQL数据库中,LIKE查询是常用的模糊匹配方法,但当处理大数据量时,尤其是涉及到通配符(如%)的LIKE查询,其性能问题不容忽视。这类查询往往会导致全表扫描,消耗大量的CPU资源和时间,进而拖慢整体系统的响应...

    MySQL查询把多列返回结果集拼装成一个字段

    mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...

    mybatis连接MySQL8出现的问题解决方法

    "mybatis连接MySQL8出现的问题解决方法" MyBatis是当前最流行的持久层框架之一,它提供了一个简单的方式来访问数据库。然而,在使用MyBatis连接MySQL8时,可能会出现一些问题。本文将介绍MyBatis连接MySQL8出现的...

    mysql查询包含某字段的所有表

    mysql查询包含某字段的所有表. 根据字段名称找出含有该字段的所有表。

    MySQL查询语句汇总+编程知识+开发技术

    MySQL查询语句汇总+编程知识+开发技术; MySQL查询语句汇总+编程知识+开发技术; MySQL查询语句汇总+编程知识+开发技术; MySQL查询语句汇总+编程知识+开发技术; MySQL查询语句汇总+编程知识+开发技术; MySQL查询...

    MySQL数据库查询优化

    第3课 查询优化技术理论与MySQL实践(一)------子查询的优化(一) 第4课 查询优化技术理论与MySQL实践(二)------子查询的优化(二) 从理论看,子查询包括的内容和范围,建立清晰的概念 从实践看,MySQL的子查询...

    45-MySQL单表2000万数据查询慢解决方案1

    本文主要讨论了如何解决MySQL单表2000万数据查询慢的问题,通过将表分区和使用时间触发器来实现数据的优化。 分区设计 在解决方案中,我们使用的是按照8周将单表分为8个区,每周一都会将最早一周的分区Drop掉,然后...

    提升MYSQL查询效率的10个SQL语句优化技巧.doc

    使用 EXPLAIN 关键字是另一个 MySQL 优化技巧,可以让你了解 MySQL 正在进行什么样的查询操作,这可以帮助你发现瓶颈的所在,并显示出查询或表结构在哪里出了问题。EXPLAIN 查询的结果,可以告诉你那些索引正在被...

    mysql查询分析器

    MySQL查询分析器是一种强大的工具,专门用于帮助数据库管理员和开发人员高效地管理和操作MySQL数据库。SQLYog Enterprise绿色版是其中的一款,它提供了一个直观且功能丰富的界面,使得执行SQL查询、管理数据库对象...

    C#下的mysql数据库查询显示

    本资源针对的是在C#环境下进行MySQL数据库查询的基础教程,特别适合初学者学习。 首先,我们要理解C#与MySQL的结合是如何工作的。在C#应用中,我们需要一个连接MySQL的驱动,如`MySql.Data.MySqlClient`库,这个库...

    Mysql 查询根节点下所有叶子节点

    1、SELECT * FROM ( SELECT d.id, ( SELECT count( 1 ) FROM t_tree dd WHERE dd.parent_uuid = d.id ) AS count FROM t_tree d ) a ... t3.id NOT IN ( SELECT t1.id FROM t_tree t1, t_tree t2 WHERE ...

    mysql查询练习题

    一份关于mysql的题目,查询相关的练习题,一表,两表,多表等的连接查询。

Global site tag (gtag.js) - Google Analytics