zoukankan      html  css  js  c++  java
  • mysql: join

    /***************
     * join tables *
     ***************/
     
    -- list all sales for FLEX and BLAZE;
    select * from product;
    select * from sales;
    -- what happens without a.product_id=b.product_id;
    -- use table alias;
    
     
     
    -- practice: list all transactions with Amazon;
    select s.*,c.*
    from sales s, client c
    where s.client_id = c.client_id and c.name = 'Amazon';
    
    
    -- list all sales with msrp > 100 and quantity >= 10, or quality >= 100; ignore non-existing product_id in PRODUCT;
    -- ignore non-existing product_id in PRODUCT;
    select s.*,p.*
    from sales s, product p
    where s.product_id = p.product_id and ((p.msrp > 100 and s.quantity >= 10) or (s.quantity >= 100));
    
    
    /***************
    *     Join     * 
    ***************/
    
    -- show all transactions with shipping status;
    /* inner join */
    select s.*,sh.*
    from sales s
    inner join shipping sh
    where s.tran_id = sh.tran_id;
    
    /* left join */
    select s.*,sh.*
    from sales s
    left join shipping sh
    on s.tran_id = sh.tran_id;
    
    -- list all shipments with shipping status; show client_id and product_id if exists;
    /* right join */
    select s.*,sh.*
    from sales s
    right join shipping sh
    on s.tran_id = sh.tran_id;
    
    -- list all shipping status with client_id and product_id;
    /* right join */
    
    -- list all sales and shipping status in one table;
    
    
    -- list all transactions and shipping status in one table;
    /* full join */
    -- select s.tran_id as trn_id, s.client_id, s.product_id, sh.status
    -- from shipping sh
    -- full join sales s
    -- on s.tran_id = sh.tran_id
    -- ;
    -- MySQL doesn't support full join!
    
    
    /*********************
     *    set operators  *
     *********************/
    -- union;
    select * from sales;
    select * from sales where tran_id > 1
    union
    select * from sales where tran_id > 2;
    
    -- union all
    select * from sales;
    select * from sales where tran_id > 1
    union all
    select * from sales where tran_id > 2;
    

      

  • 相关阅读:
    我用到的存储过程
    yii2图片处理扩展yii2-imagine的使用
    yii2——自定义widget
    YII2之 Scenario
    PHP获取某月天数
    docker版wordpress
    RBAC中 permission , role, rule 的理解
    mysql开启远程连接
    windows系统和ubuntu虚拟机之间文件共享——samba
    php生成随机字符串
  • 原文地址:https://www.cnblogs.com/tabCtrlShift/p/9236444.html
Copyright © 2011-2022 走看看