zoukankan      html  css  js  c++  java
  • 连接查询简析 join 、 left join 、 right join

    join :取两个表的合集;

    left join:左表的数据全部保留,然后增加右表与左表条件匹配的记录。如下

    select cc.* from cloud_groups as cg  left join cloud_contacts as cc  on  cg.ou=cc.departmentNumber order by cast(cg.sort as int),cast(cc.sort as int)      //先以部门排序,再以员工进行排序

    效果:

    (1)cloud_groups  的内的数据全部保留

    (2)增加 cloud_contacts 表中 cg.ou=cc.departmentNumber 的记录

    right join: 与left join的效果正恰相反。右表的数据全部保留,然后增加与相应条件匹配的记录。

    示例:

    //根据部门编码获取指定部门下员工的数量
    -(NSString *)getStaffCount:(NSString *) code
    {
        NSString *strSql = [[NSString alloc]initWithFormat:@" select count(*) from(select * from cloud_contacts as cc left join cloud_groups as cg on cg.ou=cc.departmentNumber) where code like'%%%@%%'",code];
        NSString *staffCount=nil;
        if([mysqlite openDatabase:@"ucab_db.db"])
        {
            staffCount = [[mysqlite selectintBySQL:strSql] objectAtIndex:0];
            [mysqlite closeDatabase];
        }
        if (nil!=staffCount)
        {
            return staffCount;
        }
        else return @"0";
    }

    关键字:on 是两个表连接查询时的条件,用于筛选笛卡尔积得出临时表。where 是对对临时表进行再次查询!

  • 相关阅读:
    跳出iframe
    leetcode 225. Implement Stack using Queues
    leetcode 206. Reverse Linked List
    leetcode 205. Isomorphic Strings
    leetcode 203. Remove Linked List Elements
    leetcode 198. House Robber
    leetcode 190. Reverse Bits
    leetcode leetcode 783. Minimum Distance Between BST Nodes
    leetcode 202. Happy Number
    leetcode 389. Find the Difference
  • 原文地址:https://www.cnblogs.com/ygm900/p/3478701.html
Copyright © 2011-2022 走看看