"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 table
것 SELECT
(귀국일)는 1
당신이 얻을 것이다 테이블의 3 열이있는 경우 해당 테이블의 모든 행에 대한
1
1
1
설명하신 문제 일 수있는 Count (*) 대 Count (1) 을 살펴보십시오 .
이 문 SELECT 1 FROM SomeTable
은 1
테이블의 각 행에 대한 값 을 포함하는 열을 반환 합니다. 예 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
'programing' 카테고리의 다른 글
게임 개발을위한 D 프로그래밍 언어 (0) | 2021.01.14 |
---|---|
DBRef로 mongodb를 쿼리하는 방법 (0) | 2021.01.14 |
strdup 또는 _strdup? (0) | 2021.01.14 |
Django : 400 잘못된 요청 구문-이 메시지는 무엇을 의미합니까? (0) | 2021.01.14 |
파이썬에서 한 줄씩 긴 여러 줄 문자열을 읽는 방법 (0) | 2021.01.14 |