1. 程式人生 > >select 多表查詢 組合查詢語句

select 多表查詢 組合查詢語句

很多時候需要查詢兩張表及以上的表來獲取需要的資訊

  一張表的時候查詢語句:

             select  列1,列2 from  表 where 查詢條件

      例如:一張表

資訊表
username age sex
張三 24
李四 23
王麻子 22

          查詢一張表中的資料 

             select username, age from 資訊表 where username="王麻子"

             查詢出來的結果                                                          

資訊表
username age
王麻子 22

       兩個表的時候查詢語句

         ①    select 表1.列1, 表1.列2,表2.列1 from 表1,表2 where 表1.列x=表2.列x

LOL
user age user_id
張三 20 111
李四 18 123
趙五 32 345

         還有另一張表

LOLp
user_id wuqi
123 鐵錘
345 大炮

           用這兩個表查使用者名稱和所使用的武器

           ①   select LOL.user ,LOLp.wuqi from LOL,LOLp where LOL.user_id=LOLp.user_id

          這樣的結果就是

user wuqi
李四 鐵錘
趙五 大炮

          ②  select   LOL.user ,LOLp.wuqi from LOL left join LOLp on LOL.user_id=LOLp.user_id  where 篩選條件(在不需要篩選條件的時候沒有where語句)

 其他的查詢方式:

SELECT  
distinct
a.userId,a.tijianhao,a.SURVEYID,
a.tbrq as rq,
convert(varchar(10),a.tbrq,120) as tbrq,
a.tijianhao as TJH,
isViewed,
b.jieguo as name, //這裡可以修改正(select jieguo from where tijianhao=a.tijianhao and xmcode="name")name,
b.flag as TYPE,
a.has_survey 
FROM SHANGWURECORD a
left join ShangWuJieGuo b on a.tijianhao=b.tijianhao and b.xmcode='name'
where a.SURVEYID !='' and a.userid='1234567898763' and belong_id='1234567898763

' order by a.tbrq desc 

//比如  帶有別名的

SELECT  
distinct
a.userId,a.tijianhao,a.SURVEYID,
a.tbrq as rq,
convert(varchar(10),a.tbrq,120) as tbrq,
a.tijianhao as TJH,
isViewed,
(select jieguo from where tijianhao=a.tijianhao and xmcode="name")name,//剛才修改的地方
b.flag as TYPE,
a.has_survey 
FROM SHANGWURECORD a
left join ShangWuJieGuo b on a.tijianhao=b.tijianhao //還有這裡的變化
where a.SURVEYID !='' and a.userid='440Y98F1DQX8' and belong_id='440Y98F1DQX8' order by a.tbrq desc 

第①中一樣的 很重複的表名還是用上面整個別名比較好

select distinct SHANGWURECORD.userId,

SHANGWURECORD.tijianhao,

SHANGWURECORD.SURVEYID,

SHANGWURECORD.tbrq as rq,

convert(varchar(10),SHANGWURECORD.tbrq,120) as tbrq,

isViewed,
ShangWuJieGuo.jieguo as name,

ShangWuJieGuo.flag as TYPE,

SHANGWURECORD.has_survey

 from SHANGWURECORD,ShangWuJieGuo 

where SHANGWURECORD.tijianhao=ShangWuJieGuo.tijianhao 

and SHANGWURECORD.userid='440Y98F1DQX8' and belong_id='440Y98F1DQX8' and ShangWuJieGuo.xmcode='name'