• SQL笛卡尔积


    笛卡尔积:
      笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代数里的一个概念,表示
    第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。

    参见下面的示例:


    DECLARE @Temp TABLE
    (GroupID 
    INT , 
    GroupName 
    VARCHAR(25),
    ItemNumber 
    varchar(25)
    )
    INSERT INTO @Temp
    SELECT 1,'5805','27-196-018'
    UNION
    SELECT 1,'5805','27-196-019'
    UNION
    SELECT 2,'5805','27-196-020'
    UNION
    SELECT 2,'5805','27-196-021'
    UNION
    SELECT 3,'5805','27-196-022'
    UNION
    SELECT 3,'5805','27-196-023'

    SELECT 
        G1_GroupID 
       ,G1_ItemNumber 
       ,G2_GroupID 
       ,G2_ItemNumber  
    FROM ( 
            
    SELECT 
                GroupID 
    AS G1_GroupID 
               ,ItemNumber 
    AS G1_ItemNumber 
            
    FROM @Temp  
            
    WHERE 
                GroupID   
    IN(1
         ) 
    AS A CROSS JOIN  ( 
            
    SELECT 
                GroupID 
    AS G2_GroupID 
               ,ItemNumber 
    AS G2_ItemNumber 
            
    FROM @Temp   
            
    WHERE 
                GroupID 
    NOT IN(1
         ) 
    AS B 
    ORDER BY A.G1_GroupID,A.G1_ItemNumber
    /*Result
     *    1    27-196-018    2    27-196-020
     *    1    27-196-018    2    27-196-021
     *    1    27-196-018    3    27-196-022
     *    1    27-196-018    3    27-196-023
     *    1    27-196-019    2    27-196-020
     *    1    27-196-019    2    27-196-021
     *    1    27-196-019    3    27-196-022
     *    1    27-196-019    3    27-196-023
     
    */
  • 相关阅读:
    ajax设置自定义请求头
    tomcat修改端口号
    下载文件(前端+后台)
    ajax请求超时判断(转载)
    js判断变量类型
    js中判断是否包含某个字符串
    Java将json字符串转成map
    Linux上安装设置mysql 5.7.24
    js格式化json字符串和json对象
    bootstrap中的data-toggle模态框相关
  • 原文地址:https://www.cnblogs.com/jeriffe/p/2051121.html
Copyright © 2020-2023  润新知