본문 바로가기
MySql

MySQL mySQL / SQL에서 count (0), count (1) .. 및 count (*)의 차이점은 무엇입니까?

by 베이스 공부 2020. 12. 25.
반응형

저는 최근 인터뷰에서이 질문을 받았습니다. I tried this in mySQL, and got the same results(final results). All gave the number of rows in that particular table. 누구든지 그들 사이의 주요 차이점을 설명 할 수 있습니까?

 

해결 방법

 

테이블에 필드를 지정하거나 상수 값이나 * 대신 괄호 안에 식을 지정하지 않는 한 아무것도 아닙니다.

자세한 답변을 드리겠습니다. Count는 주어진 필드의 널이 아닌 레코드 번호를 제공합니다. A라는 테이블이 있다고 가정 해 보겠습니다.

select 1 from A
select 0 from A
select * from A

모두 동일한 수의 레코드, 즉 테이블 A의 행 수를 반환합니다. 그래도 출력은 다릅니다. 테이블에 3 개의 레코드가있는 경우. X 및 Y를 필드 이름으로 사용

select 1 from A will give you

1
1
1

select 0 from A will give you
0
0
0

select * from A will give you ( assume two columns X and Y is in the table )
X      Y
--     --
value1 value1
value2 (null)
value3 (null)

따라서 세 쿼리 모두 동일한 숫자를 반환합니다. 사용하지 않는 한

select count(Y) from A 

null이 아닌 값이 하나만 있기 때문에 출력으로 1을 얻습니다.

 

참조 페이지 https://stackoverflow.com/questions/18291036

 

 

반응형

댓글