zoukankan      html  css  js  c++  java
  • SQL 中的连接

    连接是操作数据库经常要用到的,分了很多种,各有各的用处,为避免以后混淆,特将概念记录与此,供日后查阅。

        在SQL Server中,通过连接运算可以实现多表查询,连接是关系数据库模型的主要特点,也是它区别其他数据库管理系统的一个标志。
        一般连接的写法如下:
        FROM join_table join type join_table
               [ON (join_condition)]
    其中,join_table是参与连接操作的表名,join_type是连接类型,join_condition是连接条件。

    连接类型分为三种:内连接/外连接/交叉连接

    1、内连接
        内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表种与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又可分为等值连接,自然连接和不等连接三种。
        (1)等值连接:在连接条件使用等于(=)运算符比较被连接列的列值,其查询结果中列出被连接表中所有列,包括其中的重复列。
        (2)不等连接:在连接中使用除等于号之外的其他比较运算符比较被连接列的列值,这些运算符包括>,>=,<,<=,!>,!<,<>等。
        (3)自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中包含的列,并删除连接表中的重复列。

    2、外连接
        外连接分为左外连接(LEFT OUTER JOIN 或 LEFT JOIN),右外连接(RIGHT OUTER JOIN 或 RIGHT JOIN)和全外连接(FULL OUTER JOIN 或FULL JOIN)三种。
        与内连接不同的是,外连接不只列出与连接条件相匹配的数据行,而是列出左表(左外连接),右表(右外连接)或两个表(全外连接)中所有符合搜索条件的数据行。

    3、交叉连接
           交叉连接(CROSS JOIN)没有WHERE子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
  • 相关阅读:
    BZOJ 1191 HNOI2006 超级英雄hero
    BZOJ 2442 Usaco2011 Open 修建草坪
    BZOJ 1812 IOI 2005 riv
    OJ 1159 holiday
    BZOJ 1491 NOI 2007 社交网络
    NOIP2014 D1 T3
    BZOJ 2423 HAOI 2010 最长公共子序列
    LCA模板
    NOIP 2015 D1T2信息传递
    数据结构
  • 原文地址:https://www.cnblogs.com/pw/p/527181.html
Copyright © 2011-2022 走看看