一:连接类型:

关联查询:只有存在关联的表才能关联查询,完全独立的表之间无法关联  

1.关联的类型:自关联,左关联,右关联,全关联(full join)两张表都是主表

2.关联的表:两张以上,以一张(或已关联存在的表)为主表

3.关联条件:主表中的某列与副表中的某列(一一对应)>所有已关联的表可以看成一张主表,表中的列,都可以作为条件与将要被关联的副表关联

4.筛选条件:所有关联的表中的列,都可以作为数据筛选条件

5.查询范围:所有关联的表中的列,都可以被查询

原理:

1.当使用关联语句将两张表进行关联时,系统会通过关联条件,自动生成一张新的符合条件表,不管再进行关联,查询等任何其它操作

都是针对于这张新生成的表进行的。

2.一旦进行关联后,和原有的两张表就没有关系,它是一张新的表

3.生成新表的机制,主表的关联条件跟副表的关联条件进行匹配,满足条件的数据自动整合成一i条新的数据放入新表,这时如果副表的关联条件有重复,那么新生成表的数据就会重复,只有在匹配不到副表的情况下,副表数据才会为空,如果已匹配到就不会再去匹配空值

注意:

1.关联查询时,关联条件一定要主外键关联,不然会出现多余重复数据(不仅仅如此会造成重复数据,唯一衡量的标准即是:主,副表重复匹配)

2.2016-07-13

主外键关联时,如果主表的关联列是外键,会出现多余数据,副表数据查出来是空

作用:2016-06-24

1.数据有紧密关联的必须用关联查询,如果用多条SQL语句拆开查询,一旦哪一环节改变,他无法把改变传递给下一环节,它们相互之间独立。

如果是关联查询任何一点的改变都会影响整条流程,所以,需要用关联查询的数据,必须用关联查询出来,而不是多条SQL语句拆分查出来

技巧:

1.在做关联查询时想要关联的副表很关键,有的时候不去关联已经存在的表,而是去关联查询出来的一张虚拟的表,这一点很重要,很多业务场景已有的表数据是不满足

注意:2017-12-28:关联查询,首先看主表,where中不加任何筛选条件,主表中所有数据都会查出来,然后再看关联表,再看关联关系,关联筛选条件,表和表直接的关联,

会先根据关联筛选条件 去查询关联表,得出虚拟表 再跟主表进行关联匹配,有就关联,多则重复加,没有则为空

SQL语句关联查询的更多相关文章

  1. MySQL的EXPLAIN命令用于SQL语句的查询执行计划

    MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP).这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL 语句的.这条命令并没有提供任何调整建议,但它能够提供重要的信息 ...

  2. mysql 常用 sql 语句 - 快速查询

    Mysql 常用 sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互         1.1.1 mysql 连接             mysql.exe -hPup    ...

  3. SQL语句之查询(SELECT)

    目录 SQL语句之查询(SELECT) 简单查询 限定查询 模糊查询 排序查询 多表查询 SQL语句之查询(SELECT) SQL是用于访问和处理数据库的标准计算机语言: 中文:结构化查询语言:英文全 ...

  4. SQL语句在查询分析器中可以执行,代码中不能执行

    问题:SQL语句在查询分析器中可以执行,代码中不能执行 解答:sql中包含数据库的关键字,将关键字用[]括起来,可以解决. 后记:建数据库的时候尽量避免使用关键字. 例子: sql.Format(&q ...

  5. 如何在 Linux 上用 SQL 语句来查询 Apache 日志

    Linux 有一个显著的特点,在正常情况下,你可以通过日志分析系统日志来了解你的系统中发生了什么,或正在发生什么.的确,系统日志是系统管理员在解决系统和应用问题时最需要的第一手资源.我们将在这篇文章中 ...

  6. 在Hibernate中使用HibernateTemplate来进行包含sql语句的查询

    /**     * 使用sql语句进行查询操作     * @param sql     * @return     */    public List queryWithSql(final Stri ...

  7. Sql语句之查询所有学生所有科目分数及总分

    昨天练Sql语句,数据库建了四个表分别是,学生表,课程表,成绩表以及教师表(教师表不在讨论范围),突然想到以前高中时代老师手上的那张成绩表,然后我就寻思着能不能用Sql语句把表打印出来,以下是我的思考 ...

  8. Python与开源GIS:在OGR中使用SQL语句进行查询

    摘要: 属性选择与空间选择都可以看作是OGR内置的选择功能,这两种功能可以解决大部分实际中的问题.但是也有这种时候,就是进行查询时的条件比较复杂.针对这种情况,OGR也提供了更加灵活的解决方案:支持使 ...

  9. SQL 语句在查询分析器执行很快,程序 Dapper 参数化查询就很慢(parameter-sniffing)

    这个问题困扰我好长时间了,使用SQLSERVER 事务探查器找到执行超时的SQL语句,参数查询都是通过执行exe sp_executesql 的存储过程调用,因为它能够分析并缓存查询计划,从而优化查询 ...

随机推荐

  1. 从零开始写一个npm包及上传

    最近刚好自己需要写公有npm包及上传,虽然百度上资料都能找到,但是都是比较零零碎碎的,个人就来整理下,如何从零开始写一个npm包及上传. 该篇文件只记录一个大概的流程,一些细节没有记录. tips:  ...

  2. f5源站获取http/https访问的真实源IP解决方案

    1.背景 F5负载均衡设备,很多场景下需要采用旁挂的方式部署.为了保证访问到源站的数据流的request和response的TCP路径一致,f5采用了snat机制.但是这样导致源站上看到的来源IP都是 ...

  3. Delphi: 获取控件文本宽度(像素)

    为适应多语言,需要对界面控件大小.位置多动态改变,因此需要根据其Caption计算实际像素大小. 找资料未有易用现成的,遂参数其它方法,写以函数处之,代码如下: uses TypInfo; funct ...

  4. Kylin介绍,功能特点【转】

    Apache Kylin是一个开源的分布式分析引擎.完全由eBay Inc.中国团队开发 并贡献至开源社区.提供Hadoop之上的SQL查询接口及多维分析(MOLAP)能力以 支持大规模数据能在亚秒内 ...

  5. Python爬虫项目--爬取自如网房源信息

    本次爬取自如网房源信息所用到的知识点: 1. requests get请求 2. lxml解析html 3. Xpath 4. MongoDB存储 正文 1.分析目标站点 1. url: http:/ ...

  6. ios 后台发送邮件之SKPSMTPMessage的使用

    skpsmtpmessage 是ios第三方后台发送邮件库 https://github.com/jetseven/skpsmtpmessage.git 1.由于skpsmtpmessage是非ARC ...

  7. sqlite 数据库错误 The database disk image is malformed database disk image

    收银机上的sqlite数据库经常出现这种错误,错误的原因有可能是突然断电或是一些不规范操作导致的. 网上一般的做法有两种: 方法一: 1.在https://www.sqlite.org/downloa ...

  8. (OS 64)指定的网络名不再可用,winnt_accept: Asynchronous AcceptEx failed.

    在httpd.conf中添加 <IfModule mpm_winnt.c> ThreadsPerChild 150 MaxRequestsPerChild 10000 Win32Disab ...

  9. 一行代码轻松搞定各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

    在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实IE给出了解决方案Google也给出了解决方案百度也应用了这种方案去解决IE的兼容问题? 百度源代码如下: <!Doctype html& ...

  10. jq以固定开头的class属性的名称

    $("div[class^='pick']").css({'border-color':'#000000'}); div [class^="aaa"]