A. sql聯合查詢語句(兩張表)
sql聯合查詢語句(兩張表)是:
select A.ID,A.VALUE,A.TYPE,A.NAME,B.KEY,B.ID,B.VALUE,B.NAME
min(VALUE),max(VALUE) from A left join B on A.ID = B.ID
where B.NAME="你輸入的名字"
and B.VALUE > (select min(VALUE) from B where NAME="你輸入的名字"))
and B.VALUE < (select min(VALUE) from B where NAME="你輸入的名字"));
B. sql 多表關聯查詢
SQL多個表實現聯合查詢
select LineId,Id,Country from Domestic
union all
select LineId,Id,Country from Freedom
-- 聯合查詢Domestic,Freedom表的LineId,Id,Country all代表不去除反復
--功能:[SQL語句] UNION [SQL語句]將兩個語句中選擇的同一列中的不同的值篩選出來
SELECT<表1>.<列名> ,<表2><列名>FROM<表1>OUTER JOIN<表2> ON<表1>.<列>=表2>.<列名>
--功能:實現兩個表的外連接
Select Domestic.LineId,Freedom.LineId from Domestic,Freedom where Domestic.Sames=Freedom.Sames
Select Domestic.LineId,Freedom.LineId FROM Domestic inner join Freedom on Freedom.Sames=Domestic.Sames
--功能:實現兩個表的內連接 把Domestic,Freedom兩個表用Domestic.Sames=Freedom.Sames關聯起來顯示Domestic.LineId,Freedom.LineId
------------------------
我的資料庫表是這種:table0101,table0102,table0103,.......各個表有同樣的結構,我想用sql語句從查詢分析器里導出來,有沒有辦法能夠一次導出,語句要返回一個結果集.
用union all就能夠實現:
select * from table0101
union all
select * from table0102
union all
select * from table0103
union all
select * from table0104
....
C. SQL語句如何刪除列
方法和詳細的操作步驟如下:
1、第一步,打開資料庫管理平台軟體[SQL Server Management Studio],見下圖,轉到下面的步驟。
D. SQL如何刪除多表連接中的相同列(關聯列)
如果是刪除單個欄位重復可用in,如果是刪除多個欄位重復可用exists。
如表1數據:
id name age
1 張三 19
2 李四 20
3 王五 17
4 趙六 21
表2數據:
id name age
1 張三 19
2 李四 21
5 王五 14
如果刪除表1中id和表2相同的內容:
1
delete from 表1 where id in (select id from 表2)
如果刪除表1中id,name和age都與表2相同的數據
1
delete from 表1 where exists (select 1 from 表2 where 表1.id=表2.id and 表1.name=表2.name and 表1.age=表2.age)
E. SQL 交叉表查詢問題
典型的豎表轉橫表。你去網上搜一下,很多這樣的代碼。
這個我之前有遇到過。想寫一個sql直接實現,發現寫起來比較麻煩。最後,我直接用程序來實現。
先查詢出所有人名和科目,這里可以用distinct。
接著建立一張二維表,列索引為人名,橫索引為學科,假設表名是dataTable,則dataTable[name][subject] 存儲的該科成績。
這么做不會太難,時間復雜度是O(N),N為記錄的條數。不過如果數據多,空間上開銷肯定不行的。
而對於稀疏的表,這方法很不好。
不過因為我做的系統當時人數不到500,科目也不到20,就是可以承受的。
大數據的我也不知道怎麼做。