Hyperskill - 컴퓨터 CS 및 영어 독해/Introducing to SQL

Updating selected rows - 선택된 줄들 업데이트하기

코딩크리처 2024. 4. 25. 22:17

hyperskill - Updating selected rows 원문

테이블의 모든 줄들에 있는 데이터를 바꿀 수 있게 되는 것은 인상적입니다.

하지만 현실세게에서는, 드물게 일어나는 일 입니다.

몇 개의 줄만 업데이트하는 일이 훨씬 더 빈번합니다.

필요로 하지 않는 줄을 필터링하는 것은 WHERE 절에서 완료 할 수 있습니다.


WHERE clause - WHERE 절


평소처럼, WHERE 절의 논리적 표현식은 몇 개의 간단한 표현식으로 결합 할 수 있습니다.

필요한 요구사항은 밑과 같습니다. :

  • 표현식은 테이블의 각각의 줄에 대해 BOOLEAN 값을 생산해야 한다.
  • 표현식에서 TRUE를 생산하는 줄들만 업데이트됩니다.

예를 들어, groups라는 테이블이 있다고 가정하겠습니다.

이 테이블은 North-Western Country 대학의 학생 그룹들에 대한 정보를 저장하고 있습니다.

group_id tutor course capacity
12 William Meier Algebra 201 50
14 Martha Jacobson Nuclear physics 101 25
22 Laura Gibbs Renaissance literature 360 30
36 Donald Meier Algebra 301 40
38 Becky Stout Information retrieval 450 30

대학 행정으로부터 최신 정책이 업데이트 되었기 때문에,

algebra 에 속한 모든 그룹 학생들의 수가 40까지 줄여야 합니다.

같은 시간, Ms. Gibbs 는 그녀의 literature (문학) 수업이 생각보다 인기가 많다는 것을 인지했습니다.

따라서, 그녀의 수업을 듣는 학생들의 수를 40까지 증가시키고 싶어합니다.

함께 테이블에 이러한 변화들을 반영 해 봅시다 :

UPDATE groups
SET capacity = 40
WHERE
    course = '%Algebra%'
    OR tutor = 'Laura Gibbs';

변화한 테이블의 결과는 이렇습니다 :

group_id tutor course capacity
12 William Meier Algebra 201 40
14 Martha Jacobson Nuclear physics 101 25
22 Laura Gibbs Renaissance literature 360 40
36 Donald Meier Algebra 301 40
38 Becky Stout Information retrieval 450 30

WHERE 절은 기초적인 UPDATE 쿼리에서 많은 변화가 일어나지 않았지만, 중대한 역할을 합니다.

당신은 데이터에서 불필요한 변화를 도입하고 싶지 않으며, 나중에 그것을 고치고 싶지 않습니다.

쿼리 작성의 첫 번째 단계로서, WHERE절에서 어떤 정확한 줄들이 업데이트, 혹은 작성이 필요한지 생각 해 보세요.

당신이 원하는 어떤 방향이던 데이터를 바꾸는 데 자유를 느낄 것 입니다.


Conclusion - 결론


여기 UPDATE 문법의 일반적인 템플릿이 있습니다. :

UPDATE table_name
SET
    col1 = expr1,
    col2 = expr2,
    ...,
    colN = exprN
WHERE
    logical_expression;

UPDATE 연산자 내부에서의 WHERE을 사용하는 것은 쉽습니다.

다른 SQL 연산자들이 동작하는 것과 같이 똑같은 규칙을 따릅니다.

이제, 당신의 지식을 확인 할 시간입니다.