SQL研習錄(26) 子查詢

2021-10-01 23:35:27 字數 1338 閱讀 3706

子查詢(sub query)或者說內查詢(inner query),也可以稱作巢狀查詢(nested query),是一種巢狀在其他 sql 查詢的 where 子句中的查詢

子查詢用於為主查詢返回其所需資料,或者對檢索資料進行進一步的限制

子查詢可以在 select、insert、update 和 delete 語句中,同 =、<、>、>=、<=、in、between 等運算子一起使用

使用子查詢時需要遵循的規則:

1、基本語法

如果需要在select語句中使用子查詢,基本語法如下:

select column_name [

, column_name ]

from table1 [

, table2 ]

where column_name operator

(select column_name [

, column_name ]

from table1 [

, table2 ]

[where

])

在insert 語句中使用子查詢,就可以將子查詢返回的資料插入到其他表中,子查詢中選取的資料可以被任何字元、日期或者數值函式所修飾,基本語法如下所示:

insert

into table_name [

(column1 [

, column2 ])]

select[*

|column1 [

, column2 ]

from table1 [

, table2 ]

[where

value operator ]

在update語句中使用子查詢的時候,既可以更新單個列,也可更新多個列,基本語法如下:

update

table

set column_name = new_value

[where operator [

value](

select column_name

from table_name)

[where

)]

在delete語句中使用子查詢的時候,既可以刪除單個列,也可刪除多個列,基本語法如下:

delete

from table_name

[where operator [

value](

select column_name

from table_name)

[where

)]

SQL研習錄(06) 刪除資料

我們通常通過使用sql中的delete語句來刪除表中的現有資料 首先我們準備一些測試資料,如下 create table student s id varchar 50 primary key,s name varchar 50 s gender varchar 50 insert into stu...

SQL研習錄(11) BETWEEN運算子

between 運算子用於選取介於兩個值之間的資料範圍內的值,也就是說between可以選擇給定範圍內的值,數字 文字或者日期都可以,因為它的選擇是具有包含性的,所以我們只需指定它的開始值和結束值即可,首先我們來建立一組測試資料,如下 create table student s id varcha...

SQL研習錄(25) 索引基礎知識及基本操作

1 什麼是索引?什麼是索引呢?索引就像是一本書的目錄一樣,當我們想要查詢一本書中與某個特定主題相關的所有頁面的時候,我們會先去查詢目錄 索引 它按照字母表順序列出了所有主題,然後從索引中就可以找到一頁或多頁與該主題相關的頁面,簡單來說,索引就是指向表中資料的指標 索引頁是資料庫中儲存索引的資料頁,索...