logo

SQL | 고유 제약

SQL의 UNIQUE 제약 조건은 열 또는 열 집합의 값이 중복되지 않도록 구별되도록 합니다. PRIMARY KEY와 달리 기본 키는 모든 값이 고유하고 NULL이 아니어야 하는 반면 각 NULL은 고유한 것으로 처리되므로 여러 NULL 값을 허용합니다.

난수 생성 자바

특징:

  • 열에 고유한 값이 있는지 확인합니다.
  • 여러 개의 NULL이 허용됩니다.
  • 하나 이상의 열에 적용할 수 있습니다.
  • 인덱스를 자동으로 생성하지 않습니다(많은 데이터베이스가 성능을 위해 수행하지만).
  • ALTER TABLE을 사용하여 추가하거나 제거할 수 있습니다.

통사론:



CREATE TABLE table_name (  
 column1 datatype UNIQUE
 column2 datatype
 ...
);

위 구문에서:

  • CREATE TABLE 테이블 이름: 새 테이블을 만듭니다.
  • 컬럼1 데이터 유형 고유: 데이터 유형으로 열을 정의하고 고유한 값을 적용합니다.
  • 컬럼2 데이터 유형: 고유 제약 조건 없이 다른 열을 정의합니다.
  • 필요에 따라 추가 열에 대해 반복합니다.

SQL UNIQUE 제약 조건 사용 예

예 1: UNIQUE 제약 조건이 있는 테이블 생성

Email 열이 고유해야 하는 Customers 테이블을 만들어 보겠습니다.

CREATE TABLE Customers (  
CustomerID INT PRIMARY KEY
Name VARCHAR(100)
Email VARCHAR(100) UNIQUE
Country VARCHAR(50)
);

이 경우 각 고객은 고유한 이메일 주소를 가지고 있어야 합니다. 중복된 이메일을 삽입하려고 하면 SQL 오류가 발생합니다.

INSERT INTO Customers (CustomerID Name Email Country)  
VALUES (1 'John Doe' '[email protected]' 'USA');

INSERT INTO Customers (CustomerID Name Email Country)
VALUES (2 'Jane Smith' '[email protected]' 'Canada');

-- This will fail because '[email protected]' already exists
INSERT INTO Customers (CustomerID Name Email Country)
VALUES (3 'Alice Johnson' '[email protected]' 'UK');

이메일 [email protected]이 이미 Customers 테이블에 존재하기 때문에 세 번째 삽입은 실패합니다.

예 2: 여러 열에 UNIQUE 사용

또한 여러 열에 UNIQUE 제약 조건을 적용하여 해당 열의 조합이 고유하도록 할 수도 있습니다.

CREATE TABLE Orders (  
OrderID INT PRIMARY KEY
CustomerID INT
ProductID INT
OrderDate DATE
UNIQUE (CustomerID ProductID)
);

이 예에서 CustomerID와 ProductID의 조합은 고유해야 합니다. 즉, 고객은 동일한 제품을 두 번 이상 주문할 수 없습니다.

예 3: 하위 쿼리를 사용하여 고유 값 확인

SQL을 사용하면 하위 쿼리의 고유성을 확인할 수 있습니다. 하위 쿼리에 UNIQUE 키워드를 사용하면 결과에 중복된 값이 포함되지 않도록 할 수 있습니다.

SELECT CustomerID  
FROM Orders
WHERE UNIQUE (
SELECT OrderID
FROM OrderDetails
WHERE Orders.CustomerID = OrderDetails.CustomerID
);

이 예에서는 Orders 테이블의 각 고객에 대해 중복된 OrderID 값이 있는지 확인합니다. 하위 쿼리가 고유한 값을 반환하면 CustomerID가 선택됩니다.

중요사항

  • 빈 하위 쿼리에서는 true로 평가됩니다.
  • 하위 쿼리의 출력으로 고유한 튜플이 있는 경우에만 true를 반환합니다(두 튜플의 속성 값이 다른 경우 두 튜플은 고유합니다).
  • 하위 쿼리에 하나 이상의 속성이 NULL인 두 개의 중복 행이 있는 경우 true를 반환합니다.
추천 퀴즈 퀴즈 편집 6개의 질문

UNIQUE 제약 조건은 SQL에서 무엇을 보장합니까?

  • 에이

    열은 중복되지 않은 값만 저장합니다.

  • 열은 중복을 확인하지 않고 값을 허용합니다.

  • 기음

    열은 행에 여러 개의 동일한 값을 허용합니다.

  • 열은 항상 NULL이 아닌 값만 저장합니다.

설명:

UNIQUE는 열(또는 열 그룹)의 모든 값이 중복 항목을 방지하기 위해 고유해야 함을 보장합니다.

UNIQUE는 PRIMARY KEY와 어떻게 다릅니까?

nat 대 침대
  • 에이

    UNIQUE는 많은 NULL 값을 허용합니다. 기본 키는 그렇지 않습니다

  • UNIQUE는 NULL을 제거합니다. 기본 키는 항상 NULL을 저장합니다.

  • 기음

    고유한 힘 인덱싱; 기본 키는 인덱스를 방지합니다

  • UNIQUE는 정렬을 시행합니다. 기본 키는 주문을 방지합니다

설명:

UNIQUE는 NULL을 완전히 금지하는 PRIMARY KEY와 달리 각 NULL이 서로 다른 것으로 간주되므로 여러 NULL 값을 허용합니다.

UNIQUE 열에 중복된 값을 삽입하면 어떻게 되나요?

  • 에이

    SQL은 중복 행을 허용하고 두 값을 모두 저장합니다.

    김프 워터마크 제거
  • SQL은 이전 값을 가장 최근에 삽입된 값으로 바꿉니다.

  • 기음

    SQL이 중복을 거부하고 무결성 오류를 생성합니다.

  • SQL은 중복된 값을 자동으로 NULL로 변환합니다.

설명:

값이 UNIQUE 제약 조건을 위반하면 SQL은 삽입이나 업데이트를 차단하고 오류를 보고합니다.

UNIQUE 및 NULL에 대한 설명 중 올바른 것은 무엇입니까?

  • 에이

    UNIQUE는 모든 NULL 값을 동일한 중복 값으로 처리합니다.

  • UNIQUE는 모든 NULL 값을 별도의 고유 행으로 처리합니다.

    자바 스위치
  • 기음

    UNIQUE는 모든 NULL 항목을 빈 문자열로 변환합니다.

  • UNIQUE는 열에 데이터가 없는 경우에만 NULL을 허용합니다.

설명:

각 NULL은 UNIQUE에서 비교할 수 없는 고유한 값으로 평가되므로 여러 NULL이 허용됩니다.

많은 데이터베이스가 UNIQUE에 대한 인덱스를 생성하는 이유는 무엇입니까?

  • 에이

    삽입하기 전에 사전순으로 값을 구성하려면

  • 테이블에 저장하기 전에 숫자 데이터의 형식을 지정하려면

  • 기음

    NULL을 고유한 순차 값으로 변환하려면

  • 유효성 검사 중 중복 확인을 개선하려면

설명:

인덱스는 엔진이 중복 값을 신속하게 감지하여 UNIQUE 제약 조건 적용을 더욱 효율적으로 만드는 데 도움이 됩니다.

UNIQUE 키워드는 하위 쿼리에서 무엇을 확인합니까?

테스트 유형
  • 에이

    하위 쿼리가 정확히 하나의 숫자 열을 반환하는지 확인합니다.

  • 하위 쿼리 출력에 고유한 행만 포함되어 있는지 확인합니다.

  • 기음

    조인을 사용하지 않고 하위 쿼리가 값을 비교하는지 확인합니다.

  • 하위 쿼리가 NULL을 포함하는 행을 무시하는지 확인합니다.

설명:

UNIQUE는 하위 쿼리가 중복된 튜플을 생성하지 않는지 확인합니다. 반환된 각 행은 최소한 하나의 속성이 달라야 합니다.

SQL | 고유 제약퀴즈가 성공적으로 완료되었습니다. 귀하의 점수:  2/6정확성 : 0%설명을 보려면 로그인하세요 1/6 1/6 < Previous 다음 >