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

MySQL에서 행 일치에 대해 여러 열 검색


이를 위해 UNION을 사용합니다. 먼저 테이블을 생성하겠습니다 -

mysql> Create table DemoTable645 (Id int,FirstName varchar(100));Query OK, 영향을 받는 행 0개(0.67초)

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

mysql> insert into DemoTable645 values(100,'Chris');Query OK, 1개의 row가 영향을 받았습니다(0.15초)mysql> insert into DemoTable645 values(101,'Robert');Query OK, 1개의 row가 영향을 받았습니다(0.16초) )mysql> DemoTable645 값에 삽입(101,'Bob');쿼리 OK, 1행 영향(0.11초)mysql> DemoTable645 값에 삽입(102,'Carol');쿼리 OK, 1행 영향(0.18초)mysql> Insert into DemoTable645 values(100,'John');Query OK, 1개의 row가 영향을 받았습니다(0.12초)mysql> insert into DemoTable645 values(100,'Robert');Query OK, 1개의 row가 영향을 받았습니다(0.12초)mysql> insert into DemoTable645 values(101,'Mike');Query OK, 1개의 row가 영향을 받았습니다(0.14초)mysql> insert into DemoTable645 values(101,'John');Query OK, 1개의 row가 영향을 받았습니다(0.14초) 

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

mysql> 선택 *from DemoTable645;

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

+------+-----------+| 아이디 | 이름 |+------+-----------+| 100 | 크리스 || 101 | 로버트 || 101 | 밥 || 102 | 캐롤 || 100 | 존 || 100 | 로버트 || 101 | 마이크 || 101 | John |+------+-----------+8행 세트(0.00초)

다음은 여러 열을 검색하는 쿼리입니다 -

mysql> Select Id AS Records from DemoTable645 where Id LIKE '%100%' union select FirstName from DemoTable645 where FirstName LIKE '%John%' order by 1 LIMIT 3;

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

+---------+| 레코드 |+---------+| 100 || John |+---------+2행 세트(0.00초)