在oracle 數據庫查詢的select 查詢字段中關聯其他表
導讀:1建站知識在實際開發過程中,特別是在做數據查詢的時候,能夠根據動態生成的sql語句將查詢的結果轉化并返回到業務處理邏網站seo優化課程seo網站優化。
大部分情況下,這種動態生成的sql查詢語句寫法如下:
復制代碼 代碼如下:
select A表.字段1,A表.字段2,B表.字段返回,C表.字段返回 from A表 ,B表,C表 [where A表,B表,C表關聯及各自的條件語句]
但是這個方法有一個缺點,那就是在動態的生成這個查詢語句的業務邏輯程序仍然很復雜。這里就介紹一個降低業務邏輯復雜度的查詢sql生成方式。其語法結構如下:復制代碼 代碼如下:
select A表.字段1,A表.字段2,B表.字段,C表.字段 from A表 [where A表的條件語句]
業務邏輯程序通過這種方式生成的sql語句時只需修改select的字段,而不需像通用方法那樣需要同時動態修改select字段,from的表,以及where 語句。這樣真個業務邏輯就能將生成sql語句的關注點由3+個減少為1個。下面就該方式實現舉例如下: 首先,建立三個表,一個反應學生基本情況的信息表——student表,兩個存放學生相關信息的代碼表——sexCode表(性別代碼表),gradeCode(年紀代碼表),建表語句如下:復制代碼 代碼如下:
-- Create table STUDENT create table STUDENT ( ID number, name nvarchar2(10), sex char(1), grade char(1), age number(2) ) tablespace SDMP storage ( initial 64K minextents 1 maxextents unlimited ); -- Add comments to the columns comment on column STUDENT.name is '學生姓名'; comment on column STUDENT.sex is '學生性別'; comment on column STUDENT.grade is '年級'; comment on column STUDENT.age is '年齡';
復制代碼 代碼如下:
-- Create table SEXCODE create table SEXCODE ( DM char(1), MC nvarchar2(5) ) tablespace SDMP storage ( initial 64K minextents 1 maxextents unlimited ); -- Add comments to the columns comment on column SEXCODE.DM is '代碼'; comment on column SEXCODE.MC is '名稱';
復制代碼 代碼如下:
-- Create table GRADECODE create table GRADECODE ( DM CHAR(1), MC NVARCHAR2(5) ) tablesp網站建設哪家好ace SDMP pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ); -- Add comments to the columns comment on column GRADECODE.DM is '代碼'; comment on column GRADECODE.MC is '名稱';
然后,執行以下insert語句,分別在每個表中填入信息。復制代碼 代碼如下:
--insert into student insert into student(id,name,sex,grade,age) values(1,'張三','1','2',8); insert into student(id,name,sex,grade,age) values(2,'李四','0','1',11); insert into student(id,name,sex,grade,age) values(3,'王五','1','2',9); insert into student(id,name,sex,grade,age) values(4,'劉二','0','4',8); insert into student(id,name,sex,grade,age) values(5,'韓六','0','3',6); --insert into sexcode insert into sexcode(dm,mc) values('1','男'); insert into sexcode(dm,mc) values('0','女'); --insert into gradecode insert into gradecode(dm,mc) values('1','一年級'); insert into gradecode(dm,mc) values('2','二年級'); insert into gradecode(dm,mc) values('3','三年級');
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-23 ,文章在oracle 數據庫查詢的select 查詢字段中關聯其他表主要講述字段,數據庫查詢,在oracle 數據庫查詢的select網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_5732.html