값 목록에서 테이블에없는 요소 선택

Kaligne

ID와 레이블이있는 테이블 T가 있습니다.

ID  LABEL
1   label_1
2   label_2
3   label_3

레이블 목록이 있습니다.

('label_1', 'label_4', 'label_6' )

테이블 T에 존재하지 않는 것을 선택하고 싶습니다. 제 경우에는 'label_4'와 'label_6'을 얻습니다. SQL에서 어떻게 할 수 있습니까?


편집 1

이러한 레이블은 외부 값입니다. 스풀을 사용하여 내 테이블에 존재하지 않는 값을 로그 파일에 인쇄하고 싶습니다.


2 편집

기본적으로 거대한 값 목록이기 때문에 현재 pl / SQL을 사용하여 테이블에 모든 값을 넣으려고합니다. 내가 이거 가지고있어:

DECLARE
  type array_t is varray(603) of varchar2(50 BYTE);
  labels array_t := array_t(
        '210',
                'label_1',
                'label_6',
                'label_4'
  );
BEGIN
  For i in labels LOOP

    Insert Into TEMP_LABEL (LABEL)
    Values (i);

  END LOOP;
  commit;
END;

하지만 다음과 같은 오류가 발생 pls-00456 item is not a cursor합니다. 여기에 갇혀 있습니다.

Markiemers

테이블을 사용하는 솔루션 은 내 sqlfiddle (및 postgres 버전 )을 참조하십시오.

관련 쿼리는 다음과 같습니다.

   SELECT T_TEMP.LABEL, T.LABEL
     FROM T_TEMP
LEFT JOIN T
       ON T_TEMP.LABEL = T.LABEL
    WHERE T.LABEL IS NULL;

이러한 값을 저장하는 데 테이블을 사용하지 않는 강력한 이유가 있으면 알려주십시오.

데이터 세트의 크기에 따라 다음 쿼리 중에서 선택하면 성능에 영향을 미칠 수 있습니다 ( 방법을 비교하는훌륭한 설명 참조 ).

-- LEFT JOIN / IS NULL
SELECT    T_TEMP.LABEL, T.LABEL
FROM      T_TEMP
LEFT JOIN T ON T_TEMP.LABEL = T.LABEL
WHERE     T.LABEL IS NULL;

-- NOT EXISTS
SELECT  T_TEMP.LABEL
FROM    T_TEMP
WHERE   NOT EXISTS
    (
    SELECT  T.LABEL
    FROM    T
    WHERE   T_TEMP.LABEL = T.LABEL
    );

-- NOT IN    
SELECT  T_TEMP.LABEL
FROM    T_TEMP
WHERE   LABEL NOT IN
    (
    SELECT  T.LABEL
    FROM    T
    );

데이터 세트가 커지면 LEFT JOIN / IS NULL 또는 NOT EXISTS가 더 잘 수행되어야하지만 이 바이올린 의 실행 계획에 따르면 NOT IN이 가장 낮은 비용으로 수행되는 것 같습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사전의 값 목록에서 요소 선택

분류에서Dev

MySQL 다 대다 접합 테이블 : 목록에없는 B에 값이없는 A에서 모든 항목 선택

분류에서Dev

데이터 목록 요소에서 선택한 값 가져 오기

분류에서Dev

긴 옵션 값이있는 선택 요소를 테이블 셀에 맞추기

분류에서Dev

Python의 목록에서 요소 선택

분류에서Dev

다른 "목록"의 선택한 요소에 따라 "목록"값 변경

분류에서Dev

Python 셀레늄 웹 드라이버 : 드롭 다운 목록에서 값 선택 (해당 요소 예외 없음)

분류에서Dev

콜론 뒤에 알 수없는 값이있는 속성에서 요소 선택

분류에서Dev

angular2의 양식 요소에서 드롭 다운 목록 선택한 값을 얻는 방법

분류에서Dev

case 문에서 값 목록 선택

분류에서Dev

확률에 따라 파이썬 목록에서 요소 선택

분류에서Dev

jQuery-값 배열에서 값으로 요소 선택

분류에서Dev

목록 B에서 선택하십시오. 파이썬에서 목록 A에없는 고유 한 요소?

분류에서Dev

Javascript는 테이블 셀에서 선택 요소 찾기

분류에서Dev

파이썬, 튜플 목록에서 특정 요소 선택

분류에서Dev

목표 C에서 테이블보기를 다시로드 할 때 선택한 값이 선택 취소되는 이유

분류에서Dev

javascript-선택 목록에서 선택한 값 가져 오기

분류에서Dev

목록의 선택에서 선택한 값 가져 오기-Ionic

분류에서Dev

목록 목록에서 요소를 선택하는 프롤로그

분류에서Dev

목록 내의 여러 목록에서 데이터 프레임 요소 선택

분류에서Dev

Angular Autocomplete-선택시 목록에서 요소 제거

분류에서Dev

다중 목록보기에서 선택한 요소 제거

분류에서Dev

jQuery에서 선택한 모든 요소 목록 가져 오기

분류에서Dev

HtmlAgilityPack div 목록에서 개별 요소 선택

분류에서Dev

라켓-목록에서 임의의 요소 선택

분류에서Dev

SQL 테이블에서 값 쌍 선택

분류에서Dev

참조 테이블에서 값 선택

분류에서Dev

요소 목록에서 모든 요소를 선택하는 방법

분류에서Dev

목록에 지정된 하위 값이있는 요소를 선택하기위한 xpath

Related 관련 기사

  1. 1

    사전의 값 목록에서 요소 선택

  2. 2

    MySQL 다 대다 접합 테이블 : 목록에없는 B에 값이없는 A에서 모든 항목 선택

  3. 3

    데이터 목록 요소에서 선택한 값 가져 오기

  4. 4

    긴 옵션 값이있는 선택 요소를 테이블 셀에 맞추기

  5. 5

    Python의 목록에서 요소 선택

  6. 6

    다른 "목록"의 선택한 요소에 따라 "목록"값 변경

  7. 7

    Python 셀레늄 웹 드라이버 : 드롭 다운 목록에서 값 선택 (해당 요소 예외 없음)

  8. 8

    콜론 뒤에 알 수없는 값이있는 속성에서 요소 선택

  9. 9

    angular2의 양식 요소에서 드롭 다운 목록 선택한 값을 얻는 방법

  10. 10

    case 문에서 값 목록 선택

  11. 11

    확률에 따라 파이썬 목록에서 요소 선택

  12. 12

    jQuery-값 배열에서 값으로 요소 선택

  13. 13

    목록 B에서 선택하십시오. 파이썬에서 목록 A에없는 고유 한 요소?

  14. 14

    Javascript는 테이블 셀에서 선택 요소 찾기

  15. 15

    파이썬, 튜플 목록에서 특정 요소 선택

  16. 16

    목표 C에서 테이블보기를 다시로드 할 때 선택한 값이 선택 취소되는 이유

  17. 17

    javascript-선택 목록에서 선택한 값 가져 오기

  18. 18

    목록의 선택에서 선택한 값 가져 오기-Ionic

  19. 19

    목록 목록에서 요소를 선택하는 프롤로그

  20. 20

    목록 내의 여러 목록에서 데이터 프레임 요소 선택

  21. 21

    Angular Autocomplete-선택시 목록에서 요소 제거

  22. 22

    다중 목록보기에서 선택한 요소 제거

  23. 23

    jQuery에서 선택한 모든 요소 목록 가져 오기

  24. 24

    HtmlAgilityPack div 목록에서 개별 요소 선택

  25. 25

    라켓-목록에서 임의의 요소 선택

  26. 26

    SQL 테이블에서 값 쌍 선택

  27. 27

    참조 테이블에서 값 선택

  28. 28

    요소 목록에서 모든 요소를 선택하는 방법

  29. 29

    목록에 지정된 하위 값이있는 요소를 선택하기위한 xpath

뜨겁다태그

보관