Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

NOT IN을 사용하여 다른 레코드를 제외하여 특정 조건의 중복에서 단일 값을 찾는 MySQL 쿼리

<시간/>

먼저 테이블을 생성하겠습니다 -

mysql> 테이블 생성 DemoTable( Id int, FirstName varchar(100));Query OK, 영향을 받는 행 0개(0.69초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable values(100,'Chris');Query OK, 1개의 row가 영향을 받음(0.14초)mysql> insert into DemoTable values(100,'Robert');Query OK, 1개의 row가 영향을 받음(0.48초) )mysql> DemoTable 값에 삽입(100,'Mike');쿼리 OK, 1행 영향(0.23초)mysql> DemoTable 값에 삽입(100,'Sam');쿼리 OK, 1행 영향(0.48초)mysql> insert into DemoTable values(101,'David');Query OK, 1개의 row가 영향을 받음(0.19초)mysql> insert into DemoTable values(101,'Robert');Query OK, 1개의 row가 영향을 받음(0.44sec)mysql> insert into DemoTable values(210,'Chris');Query OK, 1개의 row가 영향을 받음(0.14초)mysql> insert into DemoTable values(210,'Bob');Query OK, 1개의 row가 영향을 받음(0.17초)mysql> DemoTable에 삽입 values(210,'Sam');쿼리 OK, 1행 영향(0.17초)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable에서 *선택;

이것은 다음과 같은 출력을 생성합니다 -

+------+-----------+| 아이디 | 이름 |+------+-----------+| 100 | 크리스 || 100 | 로버트 || 100 | 마이크 || 100 | 샘 || 101 | 데이비드 || 101 | 로버트 || 210 | 크리스 || 210 | 밥 || 210 | Sam |+------+-----------+세트의 행 9개(0.00초)

다음은 특정 조건의 중복에서 단일 값을 찾는 쿼리입니다 -

mysql> Id가 없는 DemoTable에서 고유한 Id 선택(FirstName='Chris'인 DemoTable에서 Id 선택) 

이것은 다음과 같은 출력을 생성합니다 -

+------+| 아이디 |+------+| 101 |+------+1 행 세트(0.08초)