1개를 가져오는 경우
SELECT *
FROM TABLE_A
WHERE ID = 1
전체를 가져오는 경우
WHERE ID = 0
위의 각각의 쿼리이지만...
ID 값이 존재하지 않을 경우 전체를 가져오고..
ID 값이 존재할 경우 해당 ID 의 데이터만 가져올 수 있는 쿼리가 있을까요?
조언 부탁 드립니다.
WHERE ID = :id
----------------------------------------
WHERE ID is null
이걸 꼭 쿼리문으로 작성해야 된다면
프로시져를 사용해야 되지 않을까요 조건문을 이용해서..
굳이 쿼리문으로 작성할 필요가 없다면
프로그램 개발언어에서 조건문을 줘서 쿼리를 작성하는게 어떨까요?
조건문을 사용하지 않고... WHERE 에서 데이터 필터를 해서 가져오려는 의도 입니다.
간단히 정리하면 아래의 조건을 만들고 싶은건데요.
아무리 해 보아도 되지 않아 이렇게 조언 구합니다.
------------------------------------------------------------------------------------------------------------------------
WHERE (ID 값이 존재할 경우 - 해당 값 RETURN
OR ID 값이 존재하지 않을 경우 - 전체값 RETURN)
님아 그럼 궁금한게 있는데요..
여기서 아이디값은 외부에서 변수로 넘겨주는 값인가요?
with t as ( select 1 id union all select 2 id union all select 3 id union all select 4 id union all select 5 id union all select 6 id ) SELECT * FROM t WHERE ID = isnull( (select id from t where id = @id), ID)
select id from t where id = @id
@id에 1 ~ 6을 넣으면 해당 데이터를, 그 이외의 값을 넣으면 전제 데이터를 조회
이걸 원하시는 건지요 ?
知音(sunnylee72)님 감사합니다.
이런 방법을 원한거였는데.. 쿼리를 보고 감탄사를 연발하고 있습니다.
데이터베이스는 어떻게 해야 잘하는건지요.. ^^;