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를 반환합니다.
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는 하위 쿼리가 중복된 튜플을 생성하지 않는지 확인합니다. 반환된 각 행은 최소한 하나의 속성이 달라야 합니다.
퀴즈가 성공적으로 완료되었습니다. 귀하의 점수: 2/6정확성 : 0%설명을 보려면 로그인하세요 1/6 1/6 < Previous 다음 >