본문 바로가기

Programming/DataBase46

[mssql] TOP() TOP() : 결과 집합의 윗부분을 정렬 순서대로 끊어 와서 반환하기 때문에 실행 속도가 매우 빠르며 실행에 오버헤드가 거의 없습니다. 인덱스만 잘 걸어주면 TOP() 은 수억 개의 레코드가 있는 테이블에서도 상위 몇 개의 레코드를 반환하는 처리를 순식간에 해주기 때문에 대용량 데이터베이스에서 처리를 할 때 유용하게 사용됩니다. 1. 쿼리 결과에서 지정한 만큼의 최상단 행 집합만을 반환하는 용도로 사용한다. SELECT TOP(1) RISK_LIST_CODE, RISK_CONT, IDX FROM BLG_PJT_R_RISK WITH (NOLOCK) ORDER BY IDX DESC; RISK_LIST_CODE RISK_CONT IDX 1 RC-P-계약-1 마바사 리스크내용 652 2. () 들어갈 인수로 행.. 2012. 10. 8.
[Mssql] union과 union all의 사용법 union all: 총집합, a에 있고 b에 있으면 둘 다 나오구요. a ={a,b,c} / b={b,c,d} 라면 union 은 {a,b,c,d} 라고 나오구요 union all 은 {a,b,c,b,c,d} 일케 나오죠..^^ UNION은 인덱스가 적절히 잡혀 있고 한번에 큰 범위의 데이터를 가져오지 않는다면 무리가 있을 것으로 생각되지는 않습니다. 1. SELECT * FROM couple WHERE member1=$var OR member2=$var 2. (SELECT * FROM couple member1=$var) UNION (SELECT * FROM couple member2=$var) 1번 쿼리 = 2번 쿼리 ==============================================.. 2012. 10. 8.
[ORACLE] 이전글, 다음글 쿼리 상세보기의 seq값으로 서브쿼리를 이용해 이전글, 다음글의 일련번호를 구한 후, 제목을 가져온다. UNION ALL을 이용하여 합쳐주면 원펀치 투강냉이 ㅋㅋ 쿼리 하나로 해결. SELECT a.SEQ, a.SUBJECT, 'prev' as GUBUN FROM $tableNm$ a WHERE a.SEQ IN ( SELECT min(a.SEQ) FROM $tableNm$ a WHERE a.SEQ >#seq# ) UNION ALL SELECT a.SEQ, a.SUBJECT, 'next' as GUBUN FROM $tableNm$ a WHERE a.SEQ IN ( SELECT max(a.SEQ) FROM $tableNm$ a WHERE a.SEQ < #seq# ) 2012. 9. 27.
ORA-01747: 열명을 올바르게 지정해 주십시오 ORA-01747: 열명을 올바르게 지정해 주십시오 말 그대로 열명을 올바르게 하지 않은 경우인데 [예1] SELECT COL1 , COL2 , COL3 , FROM [TABLE 이름] WHERE [조건절] [예2] SELECT COL1 , COL2 , , COL3 FROM [TABLE 이름] WHERE [조건절] 위의 예와 같이 , 를 쓰고 열 명을 빠뜨린 경우에 난다. 2012. 9. 26.