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