Heim >Datenbank >MySQL-Tutorial >sql多表联查实例

sql多表联查实例

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:47:331449Durchsuche

sql多表联查实例下面提供四款sql多表关联查询的实例,个个效率不一样。

sql多表联查实例
下面提供四款sql多表关联查询的实例,个个效率不一样。
select * from order_info as a ,ivrlog4ivrdlvinst as b
where
(a.saleorder=b.ext1_skill and b.start_date=@date1 and se_id='55' and b.ext1_skill!='')
and convert(varchar(10),a.instime,112)=@date2 and max(a.instime)

方法二

select * from order_info as a
where a.saleorder=(
    select b.ext1_skill from ivrlog4ivrdlvinst as b
    where b.start_date=@date1 and se_id='55'
    and b.ext1_skill!='')
and convert(varchar(10),max(a.instime),112)=@date2

方法三

declare
@date1 varchar(20),
@date2 varchar(20)    
set @date1='20100812'
set @date2='2010-08-12'

select * from order_info as a
where a.saleorder=
(select b.ext1_skill from ivrlog4ivrdlvinst as b where b.start_date=@date1 and se_id='55' and b.ext1_skill!='')
and convert(varchar(10),a.instime,112)=@date2
and max(a.instime)


方法四

select b.caller, b.start_date, b.start_time, b.ext1_skill,
       c.deliveryno, c.destroyresult, c.deliverydate, c.deliverytime, c.arrangetime, c.driverphone, c.drivermobile,
       a.servicedate, a.servicetime, a.workertel
 from order_info as a ,ivrlog4ivrdlvinst as b ,delivery_info as c
 where
  a.saleorder in (select b.ext1_skill from ivrlog4ivrdlvinst where b.start_date=@date1 and b.se_id='55' and b.ext1_skill!='')
  and convert(varchar(10),a.instime,112)=@date2
 order by b.start_date desc, b.start_time desc

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn