• 카테고리

    질문 & 답변
  • 세부 분야

    보안

  • 해결 여부

    해결됨

컬럼을 가지고 잇는 테이블 순차적 레콛,

23.03.17 21:20 작성 조회수 303

2

강의에서는 select count(*) from board.sys.columns where object_id in(select object_id from sys.objects where type='U') and name like '%jumin%'

이런식으로 컬럼명 기반으로 테이블갯수를 찾는데 만약 여기서 테이블 이나 컬럼 갯수가 2개이상이라면 순차적 레코드 출력을 해야되는데 어떤구문으로 출력해야되나요 ㅜㅜ 감이 안잡햐요 ㅜ

답변 2

·

답변을 작성해보세요.

2

LK님의 프로필

LK

질문자

2023.03.21

감사합니다!

1

안녕하세요.

처음할때는 우리가 알아내야 될 데이터 조회 구문과 순차적 레코드 구문 조합하기가 쉽지가 않을 것 입니다. 이 경우 두개를 따로 작성을 해두고 조합하는 작업을 꾸준히 해보시면 많은 도움이 될 것 입니다.

  • 우리가 출력해야 될 SQL 구문 : select name from board.sys.columns where object_id in(select object_id from sys.objects where type='U') and name like '%jumin%'

  • 순차적 레코드 구문(row_number() 함수 사용 방법) : select 컬럼 from (select row_number() over(order by 컬럼) r, 컬럼 from 테이블)a where r=1

  • 두개의 구문 조합 : select name from (select row_number() over(order by name) r, name from board.sys.columns where object_id in(select object_id from board.sys.objects where type='U') and name like '%jumin%')a where r=1

위의 예시는 row_number() 함수를 사용한 순차적 레코드 출력 방법을 사용한 것이며, 나머지 2가지 방법도 사용하셔서 공격 해보심 많은 도움이 되실껍니다.^^