programing

"1 개 선택"은 무엇을합니까?

minecode 2021. 1. 14. 08:09
반응형

"1 개 선택"은 무엇을합니까?


일부 기사를 읽었지만 실제로 무엇을하는지 이해하지 못했습니다 select 1 from. 누군가 "대신 사용해야합니다"라고 말합니다 select *. 다음은 예제 테이블입니다.

cust_id     cust_name       cust_address

1000000001  Village Toys    Mapl
1000000002  Kids Place      South
1000000003  Fun4All         Sunny
1000000004  Fun4All         Riverside
1000000005  The Toy Store   53rd

select 1 from customer_table이 문장이 무엇을하는지 쓸 때 결과는 무엇입니까 ?


select 1 from table

테이블의 모든 행에 대해 1의 열을 반환합니다. 다음과 같이 where 문과 함께 사용하여 주어진 키에 대한 항목이 있는지 확인할 수 있습니다.

if exists(select 1 from table where some_column = 'some_value')

친구가 말한 것은 select * from table로 대량 선택을하는 대신 다음 두 가지 이유로 정확하게 필요한 열을 지정해야한다는 것입니다.

1) 성능 및 실제로 필요한 것보다 더 많은 데이터를 검색 할 수 있습니다.

2) 쿼리의 사용자는 열의 순서에 의존 할 수 있습니다. 테이블이 업데이트되면 클라이언트는 예상과 다른 순서로 열을 수신합니다.


구성은 일반적으로 "존재"확인에 사용됩니다.

if exists(select 1 from customer_table where customer = 'xxx')

또는

if exists(select * from customer_table where customer = 'xxx')

두 구조 모두 동일합니다. 과거 사람들은 쿼리 관리자가 최상의 인덱싱 된 열을 사용하기 때문에 select *가 더 낫다고 말했습니다. 이것은 사실이 아닌 것으로 입증되었습니다.


그것은 당신이 무엇을 물어 않는 SELECT 1 FROM tableSELECT(귀국일)는 1당신이 얻을 것이다 테이블의 3 열이있는 경우 해당 테이블의 모든 행에 대한

1
1
1

설명하신 문제 일 수있는 Count (*) 대 Count (1)살펴보십시오 .


이 문 SELECT 1 FROM SomeTable1테이블의 각 행에 대한 포함하는 열을 반환 합니다. SELECT 1, cust_name FROM SomeTable들어 다른 열을 추가 하면 좀 더 명확 해집니다.

            cust_name
----------- ---------------
1           Village Toys
1           Kids Place
1           Fun4All
1           Fun4All
1           The Toy Store

SELECT COUNT(*) in EXISTS/NOT EXISTS

EXISTS(SELECT CCOUNT(*) FROM TABLE_NAME WHERE CONDITIONS)- EXISTS조건은 CONDITIONS 충족 여부에 관계없이 항상 true를 반환합니다.

NOT EXISTS(SELECT CCOUNT(*) FROM TABLE_NAME WHERE CONDITIONS)- NOT EXISTS조건 CONDITIONS은 충족 여부에 관계없이 항상 거짓을 반환 합니다.

SELECT COUNT 1 in EXISTS/NOT EXISTS

EXISTS(SELECT CCOUNT 1 FROM TABLE_NAME WHERE CONDITIONS)- EXISTS조건 CONDITIONS이 충족 되면 true를 반환합니다 . 그렇지 않으면 거짓.

NOT EXISTS(SELECT CCOUNT 1 FROM TABLE_NAME WHERE CONDITIONS)- NOT EXISTS조건 CONDITIONS이 충족 되면 거짓을 반환 합니다. 그렇지 않으면 사실입니다.

참조 URL : https://stackoverflow.com/questions/7039938/what-does-select-1-from-do

반응형