[개발 환경 설정] 개발 툴 : SSMS 개발 언어 : MSSQL [소스 코드]
[결과 출력] [요약 설명] /* [테이블 변수 선언 및 while 반복문 구문을 사용해 테이블 조회 결과 출력 실시] 1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다 2. declare [선언부] - 변수, 상수를 선언할 수 있습니다 3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다 4. end [종료부] - 실행된 로직의 종료를 선언합니다 5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다 6. print [출력] - 결과물을 출력할 때 사용합니다 7. while - 지정한 단계 만큼 반복문을 수행할 수 있습니다 */ [SQL] 한 테이블에만 있는 값 출력하기 (테이블 빼기, left outer join) 본문seulhee030 2021. 4. 23. 18:25 위 그림처럼, 한 테이블에만 있는 값들을 출력하고 싶을 때 사용하는 SQL 쿼리를 소개하려고 한다. 쿼리는 크게 minus를 사용, LEFT JOIN를 사용, 서브쿼리를 사용 하는 방법으로 나눠보았다. 참고로 minus이 가장 쉽다고 생각하는데 oracle DB에서만 사용이 가능하다! 기본 세팅 table은 student, student2 테이블을 예시로 들어주었다. student tablestudent2 table우리가 도출하고 싶은 테이블은 student에는 있지만, student2 테이블엔 없는 아래와 같은 join 결과값이다. SQL 쿼리 1. minus 사용
위에서 고른 테이블에서, 아래서 고른 테이블을 빼주는 연산이다. 딱 테이블 빼기 테이블을 적용시킨 오라클 DB 연산. 2. LEFT JOIN 사용
student에 대해 left join을 해준 뒤, 그 중 student2에서 null값인 부분을 제외시켜주면 된다. left join만 하고, is not null 조건을 달아주지않으면 나오는 결과는 아래와 같다. 3. 서브쿼리 사용
student2 테이블에서, student의 name과 id를 포함하지 않는 name과 id를 포함한 컬럼을 출력하라! 라는 의미. SQL/MS-SQL & SQL Server Management Studio [ms sql] print() 함수/ print()함수 결과로 아무것도 출력이 안됨 / (동적쿼리 사용시 유용) 코더마더 2019. 12. 9.mssql 에서 동적쿼리를 작성 할 때, print 함수가 유용하게 쓰인다.
PRINT(@SQL_QUERY)
보통 변수 @SQL_QUERY 에 쿼리를 작성한후, EXEC 함수로 실행하게 되는데, 문제는 이 쿼리가 잘실행되었는지 확인할 수 가 없다. EXEC(@SQL_QUERY)
그래서 PRINT() 함수를 사용하여 실행하게 되면 메세지에 내가 작성했던 쿼리가 출력된다. PRINT(@SQL_QUERY)
TIP. 하지만 메세지가 나오지 않을 경우가 있다. 에러가 난게 아니라 @SQL_QUERY를 mssql 에서 동적쿼리를 작성 할 때, print 함수가 유용하게 쓰인다.
PRINT(@SQL_QUERY)
DECLARE @TEST_PARAM VARCHAR(50) = 'TEST' DECLARE @SQL_QUERY VARCHAR(MAX) =' SELECT * FROM TB_TEST WHERE COLUMN ='''+@TEST_PARAM+''''
EXEC(@SQL_QUERY) -- PRINT 함수 PRINT(@SQL_QUERY) 보통 변수 @SQL_QUERY 에 쿼리를 작성한후, EXEC 함수로 실행하게 되는데,
문제는 이 쿼리가 잘실행되었는지 확인할 수 가 없다.
EXEC(@SQL_QUERY)
그래서 PRINT() 함수를 사용하여 실행하게 되면 메세지에 내가 작성했던 쿼리가 출력된다.
PRINT(@SQL_QUERY)
TIP. 하지만 메세지가 나오지 않을 경우가 있다. 에러가 난게 아니라 쿼리를 작성할때 여러 변수들을 이거 붙여서 @SQL_QUERY를 만들것이다. 여러 변수들중 NULL인 값이 있다면 @SQL_QUERY변수가 통째로 NULL이 되어 아무것도 출력되지 않는것이다. 공유하기 게시글 관리 구독하기개발천국'SQL > MS-SQL & SQL Server Management Studio' 카테고리의 다른 글[MS SQL] INSERT 여러개 한번에 하기 (0)2020.01.21[MS-SQL] 버전 확인하는 방법 (0)2019.12.30mssql - select into 문 / 다른 테이블로 복사 (0)2019.12.09MS SQL 영문 한글 구분하기 / 영어 한글 구분 (정규식) (0)2019.12.06임시 테이블 (@) vs 테이블 변수 (#) (0)2019.12.02태그exec, MSSQL, print, 동적쿼리요즘 관심있는 주제댓글0
비밀글 등록 |