一、SQL Server Inner Join
Inner Join是SQL查詢中最常用的連接方式之一,它根據兩張表之間的交集來返回結果集。
在SQL Server中,Inner Join查詢通過在兩張表之間匹配一個或多個列的值來實現。Inner Join語法如下:
“`
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
“`
其中,table1和table2是要連接的表名,column_name是要查詢的列名,ON關鍵字指定用於匹配的列。
以下是一個Inner Join查詢的示例:
“`
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID = Customers.CustomerID;
“`
這段代碼將查詢兩張表Orders和Customers,結果集中包含了所有既有訂單又有客戶信息的記錄。
二、SQL Server In類型存null會轉成0嗎
在SQL Server中,In是一種邏輯運算符,用於判斷某個值是否屬於某個集合。當用In關鍵字進行匹配時,如果給定的值為null,則會返回false,而不是被匹配到。
在SQL Server中,當查詢的列類型為整型時,null將被轉換為0。
以下是一個In運算符的示例:
“`
SELECT *
FROM Orders
WHERE CustomerID IN (1,3,5);
“`
這段代碼將查詢表Orders中所有CustomerID為1、3、5的記錄。
三、示例代碼
以下是一個包含Inner Join和In運算符的示例代碼:
CREATE TABLE Customers ( CustomerID int PRIMARY KEY, CustomerName varchar(255) ); CREATE TABLE Orders ( OrderID int PRIMARY KEY, CustomerID int, OrderDate date, FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ); INSERT INTO Customers(CustomerID, CustomerName) VALUES (1, 'John'), (2, 'David'), (3, 'Mike'); INSERT INTO Orders(OrderID, CustomerID, OrderDate) VALUES (101, 1, '2021-01-01'), (102, 2, '2021-01-02'), (103, 1, '2021-01-03'), (104, 3, '2021-01-04'), (105, 1, '2021-01-05'); SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID WHERE Customers.CustomerID IN (1,3);
這段代碼首先創建了兩個表Customers和Orders,並插入了一些數據。然後,它使用Inner Join查詢來查找表Orders和Customers中所有CustomerID為1或3的記錄。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/184901.html