1. 程式人生 > >3張表以上,關聯查詢

3張表以上,關聯查詢

左連線left join 怎麼將3張表連線起來
我有3張表ORACLE10G 以WORKFLOW_BASE為基準, HRMSUBCOMPANY 和 WORKFLOW_TYPE  
1。WORKFLOW_BASE和HRMSUBCOMPANY  
SELECT a.ID 工作流ID,a.WORKFLOWNAME 工作流名稱,a.WORKFLOWTYPE 型別,a.SUBCOMPANYID 分部ID ,a.SUBCOMPANYID 公司ID,c.SUBCOMPANYNAME 公司名稱
FROM WORKFLOW_BASE a left join HRMSUBCOMPANY c on (a.SUBCOMPANYID=c.ID);


2。WORKFLOW_BASE和WORKFLOW_TYPE  

SELECT a.ID 工作流ID,a.WORKFLOWNAME 工作流名稱,a.WORKFLOWTYPE 型別,a.SUBCOMPANYID 分部ID ,a.SUBCOMPANYID 公司ID,b.TYPENAME
FROM WORKFLOW_BASE a left join WORKFLOW_TYPE b on(a.WORKFLOWTYPE=b.ID);

怎麼寫3張表同時連線起來的查詢:以第一張為基準。3張以上又怎麼做

------解決方案--------------------------------------------------------

一般是如果3張表A,B,C,以A表為基礎。則是

select *  
from a left join b on a.id=b.id
 left join c on a.id=c.id 
------解決方案--------------------------------------------------------
select * from WORKFLOW_BASE a left oin HRMSUBCOMPANY b on a.SUBCOMPANYID=c.ID
left join WORKFLOW_TYPE c on a.WORKFLOWTYPE=c.ID 
------解決方案--------------------------------------------------------

select *  
from WORKFLOW_BASE a left join HRMSUBCOMPANY b on a.SUBCOMPANYID=b.ID
left join WORKFLOW_TYPE c on a.WORKFLOWTYPE=c.ID 
------解決方案--------------------------------------------------------
select * from a left join b on a.id=b.id left join c on a.id=c.id 應該是最常用的方法。。。

相關推薦

3以上關聯查詢

左連線left join 怎麼將3張表連線起來我有3張表ORACLE10G 以WORKFLOW_BASE為基準, HRMSUBCOMPANY 和 WORKFLOW_TYPE  1。WORKFLOW_BASE和HRMSUBCOMPANY  SELECT a.ID 工作流ID,

SQL SERVER-增加聯絡關聯查詢增加主外來鍵約束

      using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System

多個字段是另一的主鍵關聯查詢語句

left join phone where table 查詢語句 tab tin 主鍵 let CREATE TABLE `User`(   `Id` BIGINT AUTO_INCREMENT NOT NULL,   `Name` VARCHAR(10)

sql語句左鏈接left join--3關聯

nbsp -s space class sel 關聯 join ted convert 表A---------------------------------關聯第一張表B-----------------------關聯第二張表c select * fomr 表名A  l

Kettle實現從mysql中取2數據關聯的數據並寫入到mongodb中

表數 ima 關聯 數據庫連接 查詢 ket 分享圖片 表數據 數據庫名 1 建立轉換,並設置DB連接到mysql 選中DB連接:連接類型選擇MySQL,輸入主機名稱,數據庫名稱,端口號,用戶名,密碼 輸入連接名稱,點擊確定。(可以先點擊測試,測試一下是否連接成功) 如

Python Flask資料庫SQLAlchemy關聯查詢(多查詢)一對多關聯

  demo.py(定義模型類,一對多關聯): # coding:utf-8 from flask import Flask from flask_sqlalchemy import SQLAlchemy # 匯入 app = Flask(__name__) # 通過類物

查詢的資料插入到另一分為兩種情況一種是目標不存在另一種是目標存在。

         情況一(目標表不存在,建立表名為t1的表,將person表中全部資料插入): createtablet1 asselect* fromperson;情況二(目標表t1存在,將per

Mysql 一條update語句更新多(存在關聯

 UPDATE table1     LEFT JOIN table2 ON table1.xx=table2.xx (關聯的欄位)    SET table1.xx=value,table2.xx=value (update value)WHERE table1.xx=xx

MySQL中關聯查詢3種寫法(USING/ON)

看看下面三個關聯查詢的 SQL 語句有何區別? SELECT * FROM score, student WHERE score.id = student.id ... SELECT * FROM score JOIN student ON (score.id = stu

高級查詢關聯查詢

個數 sta eric nbsp payment 排列 顯示 如果 條件 高級查詢1.關聯查詢作用:可以跨越多表查詢--查詢出員工的名字和他所在部門的的名字//錯誤select first_name,name from s_emp,s_dept;//錯誤的原因:產生笛卡爾積

EF Core中如何正確地設定兩之間的關聯關係

資料庫 假設現在我們在SQL Server資料庫中有下面兩張表: Person表,代表的是一個人: CREATE TABLE [dbo].[Person]( [ID] [int] IDENTITY(1,1) NOT NULL, [PersonCode] [nvarchar]

mysql 獲取一 另一不存在的資料

   編寫sql語句中,經常需要編寫獲取一張資料表中不存在與另一張表的資料,相關編寫方法如下:  方法1: 使用not in ,效率低下,在資料較小的情況下可以採用如下編寫    SELECT * FROM a WHERE 1=1 AND a.Id NOT IN( SELECT

資料庫中如何在同一複製已經存在的記錄只有主鍵不同其餘欄位均相同不變

FAS_BILL_INFO表的主鍵為BILL_CODE,新生成一個new_bill_code,把old_bill_code對應的全部複製到新生成new_bill_code的記錄中; declare     old_bill_code varchar2(44); --舊借據號&

mysql 一條sql更新多資料

<update id="deleteActor" parameterType="java.lang.String"> UPDATE actor_tbl a LEFT JOIN video_actor_tbl b ON a.sn = b.actorsn SET a.

mysql縱錶轉換為橫進行多之間的關聯查詢

1、資料庫的表可以分為兩類:縱表與橫表 縱表:表中欄位與欄位的值採用key——value形式,即表中定義兩個欄位,其中一個欄位裡存放的是欄位名稱,另一個欄位中存放的是這個欄位名稱代表的欄位的值。 例如,下面這張project_audit_log表,其中date_type欄位表示為什麼時間型別

Mysql怎麼樣避免全掃描sql查詢優化

對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引:  嘗試下面的技巧以避免優化器錯選了表掃描: 使用ANALYZE TABLE tbl_name為掃描的表更新關鍵字分佈。 對掃描的表使用FORCE INDEX告知My

【mysql 資料恢復】誤刪整資料需要緊急回滾

應用案例 誤刪整張表資料,需要緊急回滾 test庫tbl表原有資料 mysql> select * from tbl; +----+--------+-------------------

oracle join 多連線----至少3

oracle join 用法 條件連線(join) T1{[INNER] | { LEFT | RIGHT | FULL } [OUTER] } JOIN T2 ON boolean_experssion {[INNER] | { LEFT | RIGHT | FULL

一個6億的a一個3億的b通過外間tid關聯你如何最快的查詢出滿足條件的第50000到第50200中的這200條資料記錄

1、如果A表TID是自增長,並且是連續的,B表的ID為索引 select * from a,b where a.tid = b.id and a.tid>500000 limit 200; 2、如果A表的TID不是連續的,那麼就需要使用覆蓋索引.TID要麼是主鍵,要麼是輔助索引,B表ID也需要有索

mysql left join 左連接查詢關聯n多

part 存在 col 外鍵 ros bold new 多條 ble left join 左連接即以左表為基準,顯示坐標所有的行,右表與左表關聯的數據會顯示,不關聯的則不顯示。關鍵字為left join on。 **基本用法如下: select table a le