1. sql 查詢如何把欄位為空的結果頁顯示出來。。。。。
1、不必要把這么多的表都放在一起寫join,這樣看起來很亂而且容易出錯。
2、因為是在寫join的SQL,所以不要使用DISTINCT。
2、如果是在oracle環境中,使用where a.id=b.id(+)這樣的格式,使兩個表中一個是null值的也強制查詢出來。就是在等號條件後添加(+)。如果是在其它資料庫環境中,則可以使用select a.*,b.* from tba as a FULL JOIN tbb as b on a.id=b.id來實現,關鍵詞是FULL JOIN。
2. 在sql中,請問怎樣才能查詢一個表格中是否有主鍵,並且哪一個欄位是主鍵
利用用戶約束視圖來查看:
select * from user_constraints t
where t.constraint_type='P'
其中'P'為主鍵。
為了確定是哪一列,再關聯視圖 user_cons_columns:
select t.owner, t.constraint_name, t.table_name, s.column_name, s.position
from user_constraints t, user_cons_columns s
where t.constraint_type = 'P'
and t.table_name = s.table_name
其中的 s.position是指表中的第幾列,即第幾欄位是主鍵。滿足你的要求
這樣就能很容易地查出
3. Sql Server2005資料庫怎麼查看視圖里的欄位。
資料庫中的索引主要是為了方便快速查詢數據,在有索引的表中查詢數據比沒有索引的表中查詢數據要快。但索引也有其不好的地方,在數據量不大的表中一般不要用索引,索引本身也是要消耗資源的。理論上索引可以在任何欄位上設置。實際過程中一般只是在經常要查詢的欄位上設置。
4. SQL A表中的兩個欄位需要從B表中的同一個欄位撈數據,請問SQL怎麼寫呢
SELECT 'SZ02' PLANT,
TC_MOG01,
gem02,
TC_MOG02,
(select TC_MOG03 from tc_bfc_file where TC_BFC01 = 7) as TC_BFC03_0
, -- 此欄位數據來源 tc_bfc_file 的tc_bfc03 條件TC_BFC02=TC_MOG02 且 TC_BFC01='7':
TC_MOG03,
TC_BFI03,
TC_BFA07,
(select TC_MOG03 from tc_bfc_file where TC_BFC01 = 3) as TC_BFC03_1, -- 此欄位數據來源 tc_bfc_file 的tc_bfc03 條件TC_BFC01=TC_BFA07 且 TC_BFC01='3'
TC_MOG04,
TC_BVD02,
TC_MOG05,
TC_MOG06,
TC_MOG08,
TC_MOG09,
TC_MOG10
FROM SZ02.TC_MOG_FILE
JOIN TC_BFI_FILE ON TC_MOG03 = TC_BFI01
LEFT JOIN TC_BFA_FILE ON TC_BFI07 = TC_BFA01
LEFT JOIN GEM_FILE ON TC_MOG01 = GEM01
LEFT JOIN TC_BVD_FILE ON TC_BVD01=TC_MOG04
5. 怎樣查到sql中哪些欄位結構是不允許為null的
980515 精頂企業有限公司 簡家豪 NULL
980514 全欣木業有限公司 NULL 123
980514 迅億科技股份有限公司 簡逢浚 NULL
980515 聖越國際企業有限公司 NULL 111
表結構如上所示,要查詢C列為空的記錄的SQL語句不是select * from table where c=null; 或者 select * from table where c=''; 而應當是 select * from table where c is null; 相反地要查詢不為空的則應當是 select * from talbe where c<''; 或者 select * from table where c is not null; 注意:不是not is null哦。
6. SQL怎麼取得某個欄位中符號之間的數據
declare @str varchar(50); -- 截取前的字元串
declare @delimit varchar(1); -- 分隔符
set @str='mgmjs1_Apv:125712441117929:30';
set @delimit=':';
select SUBSTRING(@str,CHARINDEX(@delimit,@str)+1,CHARINDEX(@delimit,@str,CHARINDEX(@delimit,@str)+1)-CHARINDEX(@delimit,@str)-1)
如果是在表裡把字元串變數替換成欄位名