mysql数据库:内链接,外连接

多表查询之左外连接查询

## 多表: 一对多和多对多

## “一对一”建表原则

可以写在一个表中;

当表中字段很少的时候;
拆成多张表;


但是当表中字段过多,可以把表拆成好几个;
这样每个表中字段就少了;那么这个时候就得使用“外键”了,把表与表连接起来;




## 一对多建表原则

必须两个表 一个“主表”
            一个“从表”

    在“从表”中必须有个字段,
    这个字段引用“主表”的主键;
        “从表”中这个字段就是“从表”的外键;


举例:省和市这两个表:一个省对应多个市;显然是一对多的关系;




## 多对多建表原则

必须有三张表
    其中必须有一张“中间表”

举例:
    假设有表A,是明星表;有表B,是角色表;

    需要“中间表”C,分别是“表A一条记录”和“表B一条记录”的任意组合;


显然,一个演员可以对应多个角色;一个角色也可以对应多个演员;


举例
“权限和角色”,“学生和课程表”



/////


 <!--


一对多

         用户角度:
                 一个用户可以有多个订单是一对多的角度;



        一对一(业务逻辑上的一对一; 因为一个订单只能对应一个用户。。):
    左外连接    selct * from A left outer join B on 条件;
     把订单表当成主表;

    select o.*,u.username,u.birthday,u.sex,u.address from mybatis.orders o left outer join mybatis.user u on o.user_id=u.id;


    一对多(业务逻辑上的一对多;是业务逻辑;;因为一个用户可以对用多个订单):
     左外连接   selct * from A left outer join B on 条件;

   如果没有订单的人也要显示出来的话,就用user;把用户当成主表;使用的左外连接;
     使用左外连接得到的是个并集;主表记录全部展示;

    select * from mybatis.user u left outer join mybatis.orders o on o.user_id=u.id;




      如果没有订单的人不要显示出来的话,就用user;把用户当成主表;使用的内连接;
     显示内连接: select * from A inner join B on 条件;
      内连接得到的结果是个交集;; 把主表中无关的记录都过滤掉了;

     select * from mybatis.user u inner join mybatis.orders o on o.user_id=u.id;

        除掉多余的类;;; 给o.id 取个别名 oid
  select u.*, o.id oid, o.number,o.createtime, o.note
  from mybatis.user u
  inner join mybatis.orders o
  on o.user_id=u.id;

    -->



    //////////////



    /////////////

    字典数据表;关联查询;

      crm.sql建表;


多表关联查询, 就是。记录 对 记录;

主表上的一条记录对应 另外一张表上的一条或者多条记录;

但是 最后查询出来的就是个组合排列; 

而不是 大杂烩, 主表的一条记录上包含了另外一张表的多条记录;这是错误的;


是平铺的; 
这是一对一的关系;
主表一条记录结合另外一张表的一条记录, 合并成一条记录;


如果是一对多的关系;也是一样的;
主表一条记录结合另外一张表的一条记录, 合并成一条记录;



    /////////////////
进阶版; 替换掉多余字段;

 关联查询

select

 cust_id,
        cust_name,
        cust_user_id,
        cust_create_id,



        b1.dict_item_name cust_source,



        b2.dict_item_name cust_industry,



        b3.dict_item_name cust_level,


        cust_linkman,
        cust_phone,
        cust_mobile,
        cust_zipcode,
        cust_address,
        cust_createtime

 from customer c
left  outer join base_dict b1 on c.cust_source=b1.dict_id

left  outer join base_dict b2 on c.cust_industry=b2.dict_id

left  outer join base_dict b3 on c.cust_level=b3.dict_id


where c.cust_name like "%黑马%"and cust_source='6' and cust_industry='1' and cust_level='22' limit 0,5 ;


左外连接 selct * from A left outer join B on 条件;

left 左边的作为主表;右边的作为从表;

查询的主体是主表,然后从从表中取出指定的字段数据(满足条件的一条记录中的指定字段数据)添加补充到主表中;

从表查询的过程是, 先找到满足条件的一条记录, 然后再从这条记录中取出指定的字段, 添加到主表中对应的记录中, 作为最终查询的结果;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,002评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,777评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,341评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,085评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,110评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,868评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,528评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,422评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,938评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,067评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,199评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,877评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,540评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,079评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,192评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,514评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,190评论 2 357

推荐阅读更多精彩内容