zoukankan      html  css  js  c++  java
  • SQL Cross Join

    SQL Cross Join

    Last update on February 26 2020 08:07:43 (UTC/GMT +8 hours)

     

    What is Cross Join in SQL?

    The SQL CROSS JOIN produces a result set which is the number of rows in the first table multiplied by the number of rows in the second table if no WHERE clause is used along with CROSS JOIN.This kind of result is called as Cartesian Product.

    If WHERE clause is used with CROSS JOIN, it functions like an INNER JOIN.

    An alternative way of achieving the same result is to use column names separated by commas after SELECT and mentioning the table names involved, after a FROM clause.

    Syntax:

    SELECT * 
    FROM table1 
    CROSS JOIN table2;
    

    Pictorial Presentation of Cross Join syntax

    Sql cross join syntax

    Example:

    Here is an example of cross join in SQL between two tables.

    Sample table: foods

    +---------+--------------+-----------+------------+
    | ITEM_ID | ITEM_NAME    | ITEM_UNIT | COMPANY_ID |
    +---------+--------------+-----------+------------+
    | 1       | Chex Mix     | Pcs       | 16         |
    | 6       | Cheez-It     | Pcs       | 15         |
    | 2       | BN Biscuit   | Pcs       | 15         |
    | 3       | Mighty Munch | Pcs       | 17         |
    | 4       | Pot Rice     | Pcs       | 15         |
    | 5       | Jaffa Cakes  | Pcs       | 18         |
    | 7       | Salt n Shake | Pcs       |            |
    +---------+--------------+-----------+------------+

    Sample table: compan

    +------------+---------------+--------------+
    | COMPANY_ID | COMPANY_NAME  | COMPANY_CITY |
    +------------+---------------+--------------+
    | 18         | Order All     | Boston       |
    | 15         | Jack Hill Ltd | London       |
    | 16         | Akas Foods    | Delhi        |
    | 17         | Foodies.      | London       |
    | 19         | sip-n-Bite.   | New York     |
    +------------+---------------+--------------+

    To get item name and item unit columns from foods table and company name, company city columns from company table, after a CROSS JOINING with these mentioned tables, the following SQL statement can be used:

    SQL Code:

    SELECT foods.item_name,foods.item_unit,
    company.company_name,company.company_city 
    FROM foods 
    CROSS JOIN company;

    or

    SQL Code:

    SELECT foods.item_name,foods.item_unit,
    company.company_name,company.company_city 
    FROM foods,company;

    How cross joining happend into two tables

    Sql cross join into two tables

    Output:

    ITEM_NAME       ITEM_UNIT  COMPANY_NAME    COMPANY_CITY
    --------------- ---------- --------------- ---------------
    Chex Mix        Pcs        Order All       Boston
    Cheez-It        Pcs        Order All       Boston
    BN Biscuit      Pcs        Order All       Boston
    Mighty Munch    Pcs        Order All       Boston
    Pot Rice        Pcs        Order All       Boston
    Jaffa Cakes     Pcs        Order All       Boston
    Salt n Shake    Pcs        Order All       Boston
    Chex Mix        Pcs        Jack Hill Ltd   London
    Cheez-It        Pcs        Jack Hill Ltd   London
    BN Biscuit      Pcs        Jack Hill Ltd   London
    Mighty Munch    Pcs        Jack Hill Ltd   London
    Pot Rice        Pcs        Jack Hill Ltd   London
    Jaffa Cakes     Pcs        Jack Hill Ltd   London
    Salt n Shake    Pcs        Jack Hill Ltd   London
    Chex Mix        Pcs        Akas Foods      Delhi
    Cheez-It        Pcs        Akas Foods      Delhi
    BN Biscuit      Pcs        Akas Foods      Delhi
    Mighty Munch    Pcs        Akas Foods      Delhi
    Pot Rice        Pcs        Akas Foods      Delhi
    Jaffa Cakes     Pcs        Akas Foods      Delhi
    Salt n Shake    Pcs        Akas Foods      Delhi
    Chex Mix        Pcs        Foodies.        London
    .........
    .........
    

    More presentaion of the said output:

    SQL Cross join

    CROSS JOINS: Relational Databases

  • 相关阅读:
    了解 NoSQL 的必读资料
    关于什么时候用assert(断言)的思考
    这次见到了一些大侠
    NetBeans 时事通讯(刊号 # 87 Jan 12, 2010)
    动态链接库dll,静态链接库lib, 导入库lib
    新女性十得 写得了代码,查得出异常
    记录系统乱谈
    新女性十得 写得了代码,查得出异常
    fullpage.js禁止滚动
    RunningMapReduceExampleTFIDF hadoopclusternet This document describes how to run the TFIDF MapReduce example against ascii books. This project is for those who wants to experiment hadoop as a skunkworks in a small cluster (110 nodes) Google Pro
  • 原文地址:https://www.cnblogs.com/HuairongChen/p/14756153.html
Copyright © 2011-2022 走看看