首頁 SQL Subquery Example
文章
Cancel

SQL Subquery Example

使用With As 來達到子查詢的方式

範例資料表如圖所示

Desktop View

第一次搜尋,試著尋找與字母CD有關的資料,Main為自定義變數

Source Code:

1
2
3
4
5
6
7
8
  with Main as
  (
  SELECT TOP (1000) [UserID]
        ,[UserName]
        ,[UserEmail]
    FROM [DemoDB].[dbo].[Member]
    where UserName like '%CD%'
  ) select * FROM Main

Desktop View

第二次搜尋,從上回搜尋的結果資料當中,繼續搜尋與字母A有關的資料

Source Code:

1
2
3
4
5
6
7
8
9
  with Main as
  (
  SELECT TOP (1000) [UserID]
        ,[UserName]
        ,[UserEmail]
    FROM [DemoDB].[dbo].[Member]
    where UserName like '%CD%'
  ) select * FROM Main
  where UserName like '%A%'

Desktop View

使用Left join 來達到子查詢的方式

Source Code:

1
2
3
4
5
6
7
8
9
10
11
select   
    [Member].[UserName]
    [Main].[UserEmail]
FROM [DemoDB].[dbo].[Member]
Left join (
       SELECT TOP (1000) [UserID]
        ,[UserName]
        ,[UserEmail]
	    FROM [DemoDB].[dbo].[Member]
	    where UserName like '%CD%'
    ) AS Main on [Member].[UserName] = Main.[UserName]

在From中宣告變數,在進行查詢

Source Code:

1
2
Select  aaa.Id from
( SELECT [id]  ,[name],[mac],[crdate]FROM [School].[dbo].[Device] )as aaa

建立Table指令

備註:這跟這篇文章無關,只是我想簡單放個指令而已 因為這樣我之後就能先在Excel擬好欄位名稱,就直接先快速建表,型態再到介面手動調整,這樣感覺比較有效率

1
2
CREATE TABLE [dbo].[TableName](
  ColName [varchar](50)  NULL,   ) 
本文由作者按照 CC BY 4.0 進行授權