設置關聯的兩表或者多表、通過外鍵關聯、外鍵欄位是從表中的欄位、外鍵(foreign
key)欄位需要在主表做主鍵(primary
key)、
比如
學生表(學號
主鍵,姓名)
主表
課程表(課號
主鍵,課名)
主表
選了表(學號
外鍵,
課號
外鍵,成績)
從表
這樣三個表就關聯了、記住建表順序、先主表、再從表
然後可以使用代碼或者圖形界面管理器創建外鍵、創建完就關聯了
外鍵的取值必須是主鍵的值
2. SQL資料庫同時查詢三個關聯表,把這三個表內容按條件順序顯示出來SQL怎麼寫
比如有三張表
dept部門表(dept_id,dept_name)、
emp_info(emp_id,emp_name,dept_id,role_id)用戶信息表、
emp_role(role_id,role_name)管理表
dept部門表的dept_id等於emp_info用戶信息表dept_id,
而emp_role管理表的role_id等於emp_info用戶信息表role_id
如果想查用工的部門名dept_name、姓名emp_name和職務名role_name並按員工ID排序
那隻能連接三個表,語句如下
select dept.dept_name,emp_info.emp_name,emp_role.role_name
from dept join emp_info e
on dept.dept_id=emp_info.dept_id
join emp_role
on emp_info.role=emp_role.role_id
order by emp_info.emp_id ;
3. 兩個表關聯的SQL排序問題
select distinct Guest.id, addTime, Guest.userName, Guest.content, guest_type from Guest, Reply_Guest where Guest.id = Reply_Guest.guest_id and guest_type = 0 order by reply_time desc
你的語句中TypeId是哪個表的?
4. sql join (以left join為例)的表的先後順序主要如何考慮
您好,SQL語句有join是因為把優化後的數據重新聯結完整,體現直觀數據表達的作用.(這樣講可能還是太抽象).
我們做數據優化的時候.一般要理清楚數據實體的關聯關系.
例如:E-R
所以先後順序的問題.
left
join的話.
第一張表就是主體表
後面的都是與這張表有關聯關系的表(一般是明細表,輔表)
把主體表與left
join
tablename的關聯欄位作為on條件
希望我的回答能幫助您理解.
5. SQL語句中三個表的連接順序
如果只是join(即內連接,等同於inner join),則這里表的順序是沒有要求的,但如果是left join或right join則是有順序要求的。
6. sql中的左聯多表 表之間順序問題
1是主表,2和3是子表,我用ABC和ACB的方式表示了一下
不知是否能解決你的疑惑。
7. 向高手請教一個SQL多表關聯查詢排序的問題
select a.*,b.*
(可以選擇欄位名稱,注意兩個表中重名的欄位一定要加a.或b.,其他不重名的可以不加,但是為了以後的拓展,最好都加)
from [表A] as a left join [表B] as b
on a.$key=b.key
order by b.cid desc
(這樣的話當b表中的b.key不在a表中的時候,b.*的欄位都是空的,如果想改成你期望的類型,可以使用isnull函數,比如isnull(b.key,0)或isnull(b.key,'無')
8. SQL關聯表排序
為啥會有兩個Order by ,而且Order by 為什麼是在Having前面的,最後count(t0.name)這個沒運算的?
9. SQL中4個表的連接時怎樣的順序
不知道你採用的是內連接還是外連接,在db2中,多表連接總是先兩個表關聯,然後結果集再和第三個表關聯,以此類推!至於順序,db2優化器會結合cpu,i/o等因素自動考慮誰是內表,誰是外表!正常情況下一般把能過濾掉最大行數的表寫在最左邊,然後依次寫其他的表!
10. sql語句中 用 inner join 連接兩張表,大表放在前面比較快還是小表放在前面比較快。
小表在前可以提高sql執行效率。
首先將大表放在前面,即如圖(tmp2表數據量為40億,tmp1數據量只有81條),這樣執行時間為3小時21分鍾,然後再將小表放在前面,執行速度為10分鍾。
(10)sql關聯表順序擴展閱讀:
結構化查詢語言包含6個部分:
1、數據查詢語言(DQL:Data Query Language):其語句,也稱為「數據檢索語句」,用以從表中獲得數據,確定數據怎樣在應用程序給出。
保留字SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其它類型的SQL語句一起使用。
2、數據操作語言(DML:Data Manipulation Language):其語句包括動詞INSERT、UPDATE和DELETE。它們分別用於添加、修改和刪除。
3、事務控制語言(TCL):它的語句能確保被DML語句影響的表的所有行及時得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存點)命令、ROLLBACK(回滾)命令。
4、數據控制語言(DCL):它的語句通過GRANT或REVOKE實現許可權控制,確定單個用戶和用戶組對資料庫對象的訪問。某些RDBMS可用GRANT或REVOKE控制對表單個列的訪問。
5、數據定義語言(DDL):其語句包括動詞CREATE,ALTER和DROP。在資料庫中創建新表或修改、刪除表(CREAT TABLE 或 DROP TABLE);為表加入索引等。
6、指針控制語言(CCL):它的語句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用於對一個或多個表單獨行的操作。
參考資料:網路——sql語句