當前位置:首頁 » 編程語言 » sql重用查詢結果
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql重用查詢結果

發布時間: 2022-08-06 15:00:16

sql在查詢結果中查詢

在SQL Server中,可以使用表變數來存儲查詢的結果集,以便後續的在此結果集上進行新的查詢。(當然,臨時表也是一種方法)。

先定義表變數(在變數名之後用table關鍵字說明定義表變數,然後跟表的具體欄位定義):

declare@tbtable(IDinteger,InTimedatetime,...)

然後,將查詢到的數據插入表變數:

insertinto@tb
selectmin(ID)ASID,InTime...
from....

在查詢中使用表變數作為數據源:

selectTop10ID
From@tbs
orderbyiddesc

如果是在Oracle, PostgreSQL中,則可以用with定義臨時查詢結果集。

Ⅱ Mysql用sql語句查詢結果

關於sql
server
sql語句查詢分頁數據的解決方案:
要求選取
tbllendlist

第3000頁的記錄,每一頁100條記錄。-------------------------
----------
方法1:
----------
select
top
100
*
from
tbllendlist
where
fldserialno
not
in
(
select
top
300100
fldserialno
from
tbllendlist
order
by
fldserialno
)
order
by
fldserialno
----------
方法2:
----------
select
top
100
*
from
tbllendlist
where
(fldserialno
>
(select
max(fldserialno)
from
(select
top
300100
fldserialno
from
tbllendlist
order
by
fldserialno)
as
t))
order
by
fldserialno
方法1執行速度比較快!
不過,這種做法還是很麻煩,強烈期待微軟發明新的可分頁的sql語句來!!!!
sql
server
---------------------------------------------------------------------------------
資料庫表中的第m條記錄開始取n條記錄,利用top關鍵字:注意如果select語句中既有top,又有order
by,則是從排序好的結果集中選擇:
select
*
from
(
select
top
n
*
from
(select
top
(m
+
n
-
1)
*
from
表名稱
order
by
主鍵
desc)
t1
)
t2
order
by
主鍵
asc
例如從表sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
select
*
from
(
select
top
20
*
from
(select
top
29
*
from
sys_option
order
by
sys_id
desc)
t1)
t2
order
by
sys_id
asc
oralce資料庫--------------------------------------------------------------------------------
從資料庫表中第m條記錄開始檢索n條記錄
select
*
from
(select
rownum
r,t1.*
from
表名稱
t1
where
rownum
<
m
+
n)
t2
where
t2.r
>=
m
例如從表sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
select
*
from
(select
rownum
r,t1.*
from
sys_option
where
rownum
<
30
)
t2
where
t2.r
>=
10
如果你對oracle資料庫分頁不是很熟悉的話,本頁後面有專門對oracle分頁技術的講解。
my
sql資料庫---------------------------------------------------------------------------------------------
my
sql資料庫最簡單,是利用mysql的limit函數,limit
[offset,]
rows從資料庫表中m條記錄開始檢索n條記錄的語句為:
select
*
from
表名稱
limit
m,n
例如從表sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
select
*
from
sys_option
limit
10,20
tag:
racle
racle
server
server
server
sql
sql

Ⅲ sql中引用一個表的查詢結果作為條件來查詢另一個表如何實現

sql中引用一個表的查詢結果作為條件來查詢另一個表稱為sql嵌套查詢。

簡單子查詢

示例:Copyselect name,age from person

where age >

( select age from person

where name = '孫權'

)

in嵌套查詢

in關鍵字用於where子句中用來判斷查詢的表達式是否在多個值的列表中。返回滿足in列表中的滿足條件的記錄。

示例:

select name from person

where countryid in

(

select countryid from country

where countryname = '魏國'

)

(3)sql重用查詢結果擴展閱讀

子查詢的語法規則

1、子查詢的select查詢總是使用圓括弧括起來。

2、不能包括compute或for.browse子句。

3、如果同時指定top子句,則可能只包括order by子句。

4、子查詢最多可以嵌套到32層。個別查詢可能會不支持32層嵌套。

5、任何可以使用表達式的地方都可以使用子查詢,只要它返回的是單個值。

6、如果某個表只出現在子查詢中二不出現在外部查詢中,那麼該表的列就無法包含在輸出中。

子查詢的組成

1、包含標准選擇列表組件的標准select查詢。

2、包含一個或多個表或者視圖名稱的標准from子句。

3、可選的where子句。

4、可選的group by子句。

5、可選的having子句。

Ⅳ SQL 用查詢結果作為表名,進行查詢怎麼弄

查詢後有一個結果集,遍歷結果集取出你要查的對象。

你用ID查出你存的字元串(這里你存的是其他表名),返回的結果集是一條記錄。

while(rs.next()){//rs.next()方法是個游標指針
Stringshow=rs.getString("tablename");//方法的參數是你資料庫列名,因為你要返回該列名的數據

}

Ⅳ SQL 如何按查詢條件顯示查詢結果

如果存在
學號
等唯一的
主鍵
,最好用主鍵關聯查詢,如果沒有,那麼用姓名欄位關聯【學生繳納學費
記錄表
】和【學生信息表】查詢。SQL
Server語句示例:
SELECT
名字,學費,繳納時間,班級
FROM
學生繳納學費記錄表
LEFT
JOIN
學生信息表
ON
學生繳納學費記錄表.名字=學生信息表.名字

Ⅵ SQL 怎麼用查詢結果更新列

t表 有沒有 與 published_date 相關聯的欄位?
如果有的話。

UPDATE t
SET
t.AV_L = tmp.AV__L
FROM
t JOIN
(SELECT
published_date,
sum(case when access_complexity='low' then 1 else 0 end) as AV__L
from base_metrics,entry,cvss
where entry.PrimaryKey=cvss.ForeignKey and
cvss.PrimaryKey=base_metrics.PrimaryKey
group by published_date) AS tmp
ON (t.日期欄位 = tmp.published_date);

Ⅶ Sql資料庫實現查詢結果

首先這個你要弄清楚 null是不是已知條件

是 : select case when 學號 == null then 4 ELSE 99 END AS 學號,姓名,科目 from 表名 where 學號 is null
否: select case when 學號 == null then 4 ELSE 99 END AS 學號,姓名,科目 from 表名 where 姓名 = '王五' and 科目 = '科學'