sql 內連接,左連接,右連接,全連接

 

--custsomers表結構
CREATE TABLE customers
(
	customer_id int NOT NULL,
	first_name char(8) NULL,
	last_name char(10) NULL,
	email char(20) NULL,
	address char(50) NULL,
	city  char(20) NULL,
	state char(20) NULL,
	zipcode int  NULL
)

--customers表中的數據
INSERT INTO customers
VALUES
(1,'George','Washingt','[email protected]','3200 Mt Vemon Hwy','Mount Vemon','VA',22121),
(2,'Jonh','Adams','[email protected]','1250 Hancock St','Quincy','VA',02169),
(3,'Thomas','Jefferson','[email protected]','931 Thomas Jefferson Pkwy','Charlottesiille','VA',22902),
(4,'James','Madison','[email protected]','11350 Constitution Hwy','Orange','VA',22960),
(5,'James','Monroe','[email protected]','2050 James Monroe Parkway','Charlottesville','VA',22902)

--訂單表結構
CREATE TABLE orders
(
	order_id int  NOT NULL,
	order_date date NULL,
	amount money NULL,
	customer_id int NULL
)

--訂單表中的數據
INSERT INTO orders
VALUES
(1,'07/04/1775','$234.56',1),
(2,'03/14/1760','$78.5',3),
(3,'05/23/1784','$124.00',2),
(4,'09/03/1790','65.50',3),
(5,'07/21/1795','25.50',10),
(6,'11/27/1787','25.50',9)


ALTER TABLE customer
ALTER COLUMN last_name char(10) null


UPDATE  customers
SET last_name ='Washington'
WHERE customer_id = 1

UPDATE  customers
SET state ='VA'
WHERE customer_id = 1

DELETE  customers
WHERE customer_id = 1

--內連接滿足條件的記錄纔會出現在結果集中
SELECT first_name,last_name,order_date,amount
FROM customers c
INNER JOIN orders o
ON c.customer_id= o.customer_id


--左表全部出現在結果集中,若右表無對應記錄,則相應字段爲NULL
SELECT first_name,last_name,order_date,amount
FROM customers c
LEFT JOIN orders o
ON c.customer_id= o.customer_id



--右表全部出現在結果集中,若左表無對應記錄,則相應字段爲NULL
SELECT first_name,last_name,order_date,amount
FROM customers c
RIGHT JOIN orders o
ON c.customer_id= o.customer_id

--全外連接=左外連接+右外連接
SELECT first_name,last_name,order_date,amount
FROM customers c
FULL JOIN orders o
ON c.customer_id= o.customer_id



sp_help customers


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章