㈠ 一個sql語句中inner join on 可以連接三張或四張表嗎,具體怎麼連(表和表之間沒設外鍵)
inner join(等值連接) 只返回兩個表中聯結欄位相等的行
left join(左聯接) 返回包括左表中的所有記錄和右表中聯結欄位相等的記錄
right join(右聯接) 返回包括右表中的所有記錄和左表中聯結欄位相等的記錄
INNER JOIN 語法:
INNER JOIN 連接兩個數據表的用法:
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.欄位號=表2.欄位號
INNER JOIN 連接三個數據表的用法:
SELECT * FROM (表1 INNER JOIN 表2 ON 表1.欄位號=表2.欄位號) INNER JOIN 表3 ON 表1.欄位號=表3.欄位號
INNER JOIN 連接四個數據表的用法:
SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.欄位號=表2.欄位號) INNER JOIN 表3 ON 表1.欄位號=表3.欄位號) INNER JOIN
表4 ON Member.欄位號=表4.欄位號
INNER JOIN 連接五個數據表的用法:
SELECT * FROM (((表1 INNER JOIN 表2 ON 表1.欄位號=表2.欄位號) INNER JOIN 表3
ON 表1.欄位號=表3.欄位號) INNER JOIN 表4 ON Member.欄位號=表4.欄位號) INNER JOIN 表5 ON
Member.欄位號=表5.欄位號
㈡ asp sql 查詢id為1或2或3的值 sql語句怎麼寫
用or查詢不走索引,效果不理想,建議用in, 如果該查詢欄位建了索引,in會極大的提高查詢速度
select * from Table where xx in ('1','2','3');
你也可以考慮把參數放到1個數組中,循環生成sql中條件的部分
㈢ 怎樣將兩條sql語句(sql1,sql2)查詢的結果,(前提是查詢的欄位相同)合並到一起.
1.記錄順序在沒有排序或索引的情況下,沒有任何保障,所以,您最好保留排序欄位。
所以,建議您,使用排序欄位或索引以保證固定的查詢順序。
2.給你一個查詢,不動單個查詢內的順序,只給SQL1的結果集與SQL結果集的順序:(通過輔助排序欄位)
SELECT *,0 AS SN FROM TABLENAME--sql1
UNION ALL
SELECT *,1 AS SN FROM TABLENAME--sql2
ORDER BY SN
如果不想多出一個SN,可以這樣:
select field1,field2,field3 from
(
SELECT *,0 AS SN FROM TABLENAME
UNION ALL
SELECT *,1 AS SN FROM TABLENAME
)
ORDER BY SN
㈣ oracle怎樣將兩條sql語句(sql1,sql2)查詢的結果,(sql1和sql2結果里有一條相同欄位)合並到一起.
有一個相同的欄位 就可以這樣寫,select * from (sql1)t1,(sql2) t2
where t1.xx = t2.xx