舉例
table1
id, 主鍵自增
state 狀態
table2
id, 主鍵自增
table1id table1的外來鍵
name
要求:要查詢所有table1狀態為1對應table2中name資訊
第一種寫法
selecttable2.name
from
table1,
table2
where table1.id =
table2.table1id
and table1.state =
1
第二種寫法
selecttable2.name
from
(select
id
from
table1
where table1.state =
1) table1,
tbale2
where tbale1.id = table2.table1id
第三種寫法
;withtable3
as (select
id
from
table1
where table1.state =1)
select
table2.name
from
table2,
table3
where table2.table1id = table3.id
總結:第一種寫法適合較少的表關聯,優點:易懂,寫法簡單 ;缺點:多張表關聯時,自身邏輯比較容易混亂
第二種寫法適合中等量的表關聯,優點:where後面不會跟太多表的查詢語句; 缺點:查詢語句複雜時,不容易找到問題
第三種寫法適合多張表關聯,優點:寫法具有邏輯性,可以一步步篩選出自己想要的資料 缺點:語句較長
查詢分頁的幾種Sql寫法
1.概述 在網頁中如果顯示的資料太多就會佔據過多的頁面,而且顯示速度也會很慢。為了控制每次在頁面上顯示資料的數量,就可以利用分頁來顯示資料。2.技術要點 select top pagesize from table where id not in select top prenum id from ...
oracle中if else的3種寫法
1 標準sql規範 1 一 單個if 21 34 if a then 5.6endif 782 910 if a then 11.12else 13.14endif 1516 二 多個if 1718 if a then 19.20 elsif a then 21.22end if 23 這裡中間是 ...
oracle中if else的3種寫法
一 單個if 1 if a then end if 2 if a then else end if 二 多個if if a then elsif a then end if 這裡中間是 elsif 而不是else if 這裡需要特別注意 三 decode函式 decode的語法 decode val...