SQL JOIN 語句用於根據兩個或多個資料表之間的公用資料列(欄位)組合來自兩個或多個資料表的資料行。
這是用 Microsoft SQL 顯示資料庫中的表格
use DWDiagnostics SELECT table_name =name FROM sys.tables;
這是最基本的 SQL 連線。它允許我們將兩個表合併在一起。 JOIN 和 INNER JOIN 將會傳回相同的結果。
INNER 是 JOIN 的預設連接類型,因此當您編寫 JOIN 時,解析器會寫入 INNER JOIN
語法
SELECT column name(s) FROM table 1 INNER JOIN Table2 ON table1.column_name = table2.column_name
上面是兩張訂單表,客戶假設您想找到訂購筆記型電腦的客戶的電話號碼
只要滿足條件,SQL INNER JOIN 語句就會傳回多個表中的所有行。
SELECT* FROM employee_demographics AS dem INNER JOIN employee_salary AS sal ON dem.employee_id =sal.employee_id ;
On 用於顯示我們要合併在一起的列,請記住在要合併的列之前命名兩個表。
SQL left JOIN 語句傳回左表中的所有行以及右表中的符合行。
LEFT JOIN 傳回左表中的所有行以及右表中的符合行。如果右表中沒有符合項,則結果將包含右表中列的 NULL 值。
結果集:包含左表中的所有行,無論右表是否有相符。
不符合行:如果右表中沒有符合項,則右表中的列將包含 NULL 值。
SELECT Employees.name, Salaries.salary FROM Employees LEFT JOIN Salaries ON Employees.id = Salaries.emp_id;
也稱為右外連接 - 一種連接類型,它會傳回右表中的所有行以及左表中的匹配行。如果未找到匹配項,則為左表傳回 NULL 值。
SELECT column_names FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
它結合了 LEFT JOIN 和 RIGHT JOIN 的結果。它傳回兩個表中的所有行。如果兩個表之間存在匹配,則連接結果將具有雙方。缺失資料將具有 NULL 值。
選擇列名
來自表1
全連接表2
ON table1.column = table2.column;
傳回兩個表的笛卡爾積。它將第一個表中的每一行與第二個表中的每一行組合起來。
SELECT columns FROM table1 CROSS JOIN table2;
子查詢 - 是包含在另一個查詢中的選擇查詢。內部選擇查詢通常用於確定外部選擇查詢的結果。
Select Dept from employees where salary =(Select Max(Salary) from Employees);
so Select Max(salary )fromEmployees - 是首先執行的內部查詢,然後接下來執行外部查詢,即從員工中選擇部門。
1.內連接和自連接有什麼不同?
自連接是內連接的一種。
內連接用於傳回兩個表中都存在的記錄。而在自聯接中,表會與其自身聯結。
2.全連接和交叉連接有什麼差別?
左外連接和右外連接組合形成完整外連接。當不滿足 ON 條件時,它將插入 NULL 值並傳回兩個表中與查詢的 WHERE 子句相符的所有行。而交叉聯接則透過在兩個表之間創建笛卡爾積來傳回所有行的所有可能組合。
3.描述等值連接。
在這種連接中,表格可以根據模型在指定列中有效地進行組合。一些等連接功能是:
4.你能描述一下SQL巢狀連結嗎?
巢狀聯接本質上使用一個具有聯接表的表作為外部輸入表,另一個作為內部輸入表。嵌套循環連接涉及從外表中檢索一行,在內表中搜尋它,並重複此過程,直到確實找到了外表中的所有生產行。
5.什麼是自然連結?
自然聯結根據兩個表的共用屬性建立隱式聯接子句。兩個表中共享屬性的名稱相同。與等值連接相比,自然連接不需要比較運算子。
6.欄位和表格有什麼作用?
在關聯式資料庫中,表格是按行和列排列的一組資料元素。表格可用於以有用的方式表示關係。表是最基本的資料儲存類型。
7.SET@id =6;用於定義 SQL 變數以將值放入變數中。
8.一個表可以有多少個主鍵? - 1
9.NVarchar用來儲存JSON物件?
10.COUNT(*) 函數計算 SQL 查詢中的行數。
以上是加入。的詳細內容。更多資訊請關注PHP中文網其他相關文章!