联合查询

1.广义笛卡尔积

  select * from 表1,表2...  where 

  上面语句的查询结果,是将多张表的数据进行联合,联合规则,列是多张表的列拼接在一起,行是以乘积的形式排列组合,例如表1,3行数据,表2 4行数据,则显示3x4=12行数据

  多张表之间可以无关系,也可以有关系,一般我们会联合查询的都是彼此有关联的表,比如学生表跟班级表,都有共同的列,班级号,where条件筛选让两张表,显示的顺序就是写的顺序

通过班级号相等排除掉无关的行

  select * from 表1,表2 where 表1.classid=表2.classid;//等值连接

缺点:需要先把所有表行数据按照乘积排列组合显示出来,然后在where条件进行筛选,性能差

一般用内连接,查询结果一样,但性能更好。

2.内连接,也叫自连接----就是为了替换笛卡尔积

  select * from    a inner join b           on

类比select * from     a,b                         where

区别是,inner join   on 是一个组合,必须一起用,而where则可以不要,前者是在排列组合的同时进行筛选,where条件则是先排序,再筛选。前者性能更好。

3.外连接

  select * from A left/right [outer] join B     on    条件

1.两张表格A和B  取决于谁的数据在左边显示

A表格先出现   A左边显示

B表格后出现   B右边显示

2.left和right来控制以哪一个表格的数据作为基准

作为基准的表格数据必须全部显示出来

非基准的表格按照on条件与之拼接

若找到条件拼接  则正常显示   若找不到满足条件的则 null

 

  

 

Info=, GenLedgFlg=, BrctFlg=, MdfiTyp=, MsgEndFlg=1, LostWay=1, AcptPrtcNo=A1000000, MudwFlag=1, CurrMark=01, AgentZfFor=1, FineRt=, Discount=0, CshFlg=0, OperCd=, InTaOutSym=0, PrgmNme=, PwdFlag=, DtalUnitNme=, ChnlFlg=00, Rmrk=, vch_status=0, p_status=0, vch_num=6215281088703974, med_type=1, AcctKind=01, p_cache_key_map={businessProcess=1607326437269}, p_resp_code=000000, dbResult=1, amount=, account_id2=, tx_code=0332, keyname=SELF.10_186_68_3.zak, data=23053401010X188055202012101433116215281088703974, servcode=332, appid=SE, flag=0, p_backend_trans_code=332, p_target_channel_code=103, p_target_adapter_code=103, B_TIME_OUT=false, length=20, len=20, tag=001, count=3, errcode=000000, sub_ret_msg=交易成功, sub_ret_code=0000, NHReqTmStamp=2020-12-10-14.34.57.000133, otiResult=[{install_addr=开州区总统府001, inst_id=424}], term_install_addr=开州区总统府001, term_inst_id=424, batchRs=[]}]][?                        :?][com.eastcom.ilink.businessprocess.component.SuperWorkItemHandler] 14:34:57,0239 [DEBUG  ][Chn201] [201-201] [BIZ#X0320121479280     T#2012305 ] [Biz#Dispatch-t-3         ] [执行组件[platform.component.business.B_RESPONSE_MAPPING]开始,FlowId: [platform.itsvc.0009002],ComponentId:[], Databus:[databus:{p_biz_seqno=X0320121479280, p_adapter_code=201, b_recv_sttime=1607582096965, lengthx=00000015, trans_code=2305, p_channel_trans_code=2012305, biz_uid=AAA3401010X201210143311188055, msg_type=0200, term_sn=188055, teller_no=340127, trade_type=2222, topbranch_no=2300, branch_no=340101, channel_id=stm, channel_name=stm, term_id=3401010X, term_ip=10.186.68.3, trans_date=20201210, trans_time=143311, batch_no=3, mac=3C52681821760CCD, term_no_inn=23002522, Authorizer=5037571, ImgArchiveNo=01I3401271607581755515, FaceReSeqNo=01I230025221607581698452, NHIDChkSeqNo=202012090000695, main_trans_flag=1, MenuCode=8001, NHAgentFlag=0, agent_customer_name=, agent_id_num=, CertType=011, AgentZjHm=33032219950125081X, BkCustNo=, CustMgrNo=1, PayAcctName=李幸颖, Sex=0, Naty=156, OccupCode=A05, Matudate=201206

posted on 2020-12-10 16:57  刀锋93  阅读(415)  评论(0编辑  收藏  举报

导航