메뉴 건너뛰기

SAP 한국 커뮤니티



SELECT구문 : SELECT 1.field name

SAP폐인 2007.11.20 16:00 조회 수 : 6796 추천:2

 

------- SELECT구문 ------



SELECT (1.FIELD NAME)  FROM (2.TABLE NAME)
                                      INTO (3.DATA OBJECT)
                                      WHERE (4.FIELD NAME) 비교연산자 (DATA OBJECT/VALUE)


 


그럼 세분화해서 1번의 FIELD NAME에 대해 논의해보자.


 


 위의 자리에 들어갈 수 있는 것은 *(all), single * (1 record), single field (1 field), field field field ( n field)등 대체적으로 4가지로 말할 수 있다. 우선 *표시는 from에서 넘겨주는 모든 것을 가져온다는 의미이며, TABLE형태일 경우 그 테이블의 모든 값을 가져온다. single *은 테이블의 하나의 record를 가져온다는 것을 말한다. field는 하나의 필드를 말하는 것으로 하나의 필드가 가진 모든 값을 가져온다는 뜻이다. 그리고 select 뒤에는 program에서 보여주는 결과값에서 어떤 record를 가리키는 single, distinct, single for update 등의 옵션등을 사용 할 수 있다. 그럼 자세한 내용을 알아보도록 하자.


 


우선적으로 option에 대해서 알아보도록 하자.


1. 옵션중에서 SINGLE은 테이블의 데이터중에서 하나의 Record만을 가져오겠다고 선언하는 것이다. 따라서 SINGLE을 쓰게 되면 안썼을때보다 PERFORMANCE가 올라갈 수 밖에 없을 것이다. 전체를 가져오는 것보다는 하나만 가져오는게 당연히 빠르지 않겠는가.


 


2. 그리고 DISTINCT는 중복되는 값은 삭제하고 가져온다는 것이다. 이 옵션은 우선 DB에서 직접적으로 SORT한 뒤 삭제한 값을 가져오게 되고 이런 작업이 APPLICATION LAYER에서 이루어지지 않기에 주의해서 사용해야 한다.


 


3. 마지막으로 SINGLE FOR UPDATE의 구문은 다음 DB COMMIT전까지 병렬로 처리되어지는 TRANSACTION에 대해서 구문에 대해 UPDATE를 방어할 수 있다는 것이다. 이게 무슨 말인지... 간단히 말하면 SELECT하는 동안 끌고 오는 데이터가 변경되지 않도록 LOCK을 걸어버린다는 뜻이다. 값을 읽어오는 도중에 데이터를 변경하게 되면 안되는 경우 이런 옵션을 사용하게 된다.


 


SELECT 다음에 필드가 오기전에 옵션이 위치하기 때문에 옵션부분을 먼저 설명해놓았습니다. 그럼 본론으로 들어가봅시다.


 


1) *(all)은 말그래도 모든 것을 끌고 온다는 것이다.


 예문)


    SELECT * FROM spfli INTO wa
                   WHERE cityfrom = 'FRANKFURT'

                        AND cityto    = 'NEW YORK'. 
 

2) SINGLE *(1 record)는 1개의 RECORD만 가져온다는 것이다.


 예문)


     SELECT SINGLE * FROM sflight INTO wa 
                              WHERE carrid     = 'LH ' 


                                   AND connid   = '0400'


                                   AND fldate     = '20010228'.


 


3) single field는 하나의 필드값만을 into field에 담는다는 것이다.


 예문)


      DATA: target TYPE spfli-cityto.

      SELECT DISTINCT cityto FROM spfli INTO target
                                        WHERE carrid   = 'LH '      


                                            AND cityfrom = 'FRANKFURT'.


 


 4) field field 여러 필드를 적게 되면 데이터를 받게 되는 into 구문 뒤에도 field field 형태로 넣어주어야 한다.


  예문)


     DATA:  count  TYPE I,


                sum    TYPE P DECIMALS 2,


                avg     TYPE F,
                connid LIKE sbook-connid.


     SELECT SINGLE connid COUNT( * ) SUM( luggweight ) AVG( luggweight ) 
                  INTO (connid, count, sum, avg) 
                  FROM sbook 
                  WHERE carrid   = 'LH '     


                       AND fldate   = '20010228'
                  GROUP BY connid.
      WRITE: / connid, count, sum, avg.


 


 * COUNT( * ) SUM( luggweight ) AVG( luggweight ) 는 Aggregation 표현으로 field에 대한 갯수를 세거나 필드값을 더하고 평균내고 등의 옵션을 주는 표현입니다. 자세한 것은 다음에 이야기 할 것입니다.


 


 5) 변수값을 선언하여 사용할 수 있다. 아래 예에서는 필드를 변수로 선언하여 담은 다음에 그 변수를 가져왔다.


 


예문)


        DATA: wa   TYPE spfli,
                  ftab  TYPE TABLE OF STRING.


        APPEND 'CITYFROM' TO ftab.
        APPEND 'CITYTO'   TO ftab.


        SELECT single (ftab) FROM spfli
                                       INTO CORRESPONDING FIELDS OF wa
                                       WHERE carrid   = 'LH'.


        WRITE: / wa-cityfrom, wa-cityto.

번호 제목 글쓴이 날짜 조회 수
324 대문자로 변환 file 도련님 2008.10.31 6713
323 용어정리 [10] file 꼬마쿠키 2010.01.12 6725
322 Sap - NetWeaver Master Guide [20] file ksj 2007.01.17 6750
» SELECT구문 : SELECT 1.field name [3] SAP폐인 2007.11.20 6796
320 BIA [6] file 현서아빠 2009.10.22 6802
319 ER-Win [3] file BC고 2010.06.19 6813
318 소스 다운로드 받는 PGM(HTML) [6] file GG 2007.07.12 6846
317 CL_BCS를 이용한 E-Mail 즉시전송 [1] 사라다 2015.09.17 6941
316 변형 생성시 동적 일자 셋팅 [4] file 조상호 2007.05.15 7017
315 실시간 SQL 조회 프로그램 (ZTOAD) [36] file 다크나잇트 2020.12.28 7065
314 1.text 포함된 Pgm 찾기- 초급용//2. 참고 싸이트(sap과 연결된 개발 프로그램 정도) => 별점 하나 [7] sagar 2009.11.02 7067
313 Sap Script 매뉴얼입니다 [2] file 유진석 2007.05.16 7094
312 SELECT구문 : WHERE 4.field name 비교연산자 (data objects/value) [5] SAP폐인 2007.11.20 7221
311 SAP 자주사용되는 T-CODE 모음(모든모듈) [43] file 아밥뽀 2014.06.23 7234
310 Excel Macro를 사용한 Excel파일입니다. [16] file Pioneer 2007.02.14 7246
309 아밥교재 한글요약 PDF [89] file 박하나 2008.08.12 7258
308 ABAP data type에 관한 자료입니다. [10] file SARA 2007.03.29 7349
307 파일첨부 프로그램 예제 [21] file 임성빈 2008.07.11 7388
306 abap에서 사용하는 시스템 필드와 예제입니다. [7] file 촌놈악마 2010.05.28 7444
305 유지보수 뷰 생성 입니다~~ [3] file Silent.ww 2007.06.12 7455