SQL update select 결합 문장 상세 및 응용
가장 자주 사용하는 업데이트 문법은 다음과 같습니다.
UPDATE TABLE_NAME
SET column_name1 = VALUE WHRER column_name2 = VALUE
첫째, select를 임시 변수에 놓으려면 저장하기 어려운 것이 많습니다.둘째, 변수를 부여한다.
열이 많으면 매우 번거롭습니다. Insert처럼 전체 Select 문장의 결과를 삽입할 수 있습니까?마치 아래와 같다.
INSERT INTO table1
(c1, c2, c3)
(SELECT v1, v2, v3 FROM table2)
UPDATE table1 alias
SET (column_name,column_name ) = (
SELECT (column_name, column_name)
FROM table2
WHERE column_name = alias.column_name)
WHERE column_name = VALUE
id  name 
1     
2     
3    
id ClientName 
1 
2 
3
UPDATE b  SET  ClientName  = a.name  FROM a,b  WHERE a.id = b.id
UPDATE b  SET  (ClientName)  =  (SELECT name FROM a WHERE b.id = a.id)이런 상황에 대해 Sybase와 SQL Server의 해결 방법은 업데이트...SET...FROM...WHERE...의 문법을 사용하는 것이다. 사실상 원본 테이블에서 업데이트 데이터를 얻는 것이다.
SQL에서 테이블 연결(leftjoin,rightjoin,innerjoin 등)은 select 문장에 자주 사용된다.사실 SQL 문법에서 이러한 연결도 업데이트와 delete 문장에 사용할 수 있으며, 이 문장에서join을 사용하면 적은 노력으로 큰 효과를 얻을 수 있다.
UPDATE T_OrderForm SET T_OrderForm.SellerID =B.L_TUserID
FROM T_OrderForm A LEFT JOIN T_ProductInfo  B ON B.L_ID=A.ProductIDOralce 및 DB2에서 지원되는 구문:
UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)
UPDATE A SET A1 = B1, A2 = B2, A3 = B3 FROM A LEFT JOIN B ON A.ID = B.ID
UPDATE A SET A1 = B1, A2 = B2, A3 = B3 FROM A, B WHERE A.ID = B.ID
UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)
WHERE ID IN (SELECT B.ID FROM B WHERE A.ID = B.ID)이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.