본문 바로가기

IT 자료202

SQL 권한주기 권한 주는 일은 대부분 높으신 분들이 주는거니까, 사원 나부랭이가 할 일은 거의 없다. 하지만, 알아야 나중에 써먹으니까 간단하게라도 기억해 놓자. GRANT SELECT ON 테이블 TO 계정 : 해당 계정에 SELECT 권한을 준다. GRANT SELECT ON 테이블(컬럼1) TO 계정 : 해당 계정에 SELECT(해당 '테이블의 컬럼1'만 조회할 수 있는) 권한을 준다. GRANT SELECT ON 테이블 TO 계정1, 계정2, 계정3 : 해당 계정1, 계정2, 계정3에 SELECT 권한을 준다. GRANT INSERT ON 테이블 TO 계정 : 해당 계정에 INSERT 권한을 준다. GRANT SELECT, INSERT, DELETE ON 테이블 TO 계정 : 해당 계정에 SELECT, INSE.. 2015. 4. 5.
SQL 테이블 묶기 UNION 테이블을 묶는 방법(합치기?) 가장 많이 쓰는 UNION이 있다. SELECT column1 FROM table1UNIONSELECT column2 FROM table2 하면 해당 두 개의 테이블을 묶어서 볼 수 있다. UNION은 두 개의 테이블을 묶은 다음, 중복되는 행은 자동으로 없애버린다. 만약, 중복되는 행을 제거하기를 원치 않다면 UNION ALL 을 해주면 된다. TIP : ORDER BY 는 맨 마지막 테이블에 적어주면된다. UNION이 끝나고 난뒤 ORDER BY를 실행한다. 잘 쓰지 않는 INTERSECT와 EXCEPT가 있다. SELECT column1 FROM table1INTERSECT SELECT column2 FROM table2 첫번째 테이블과 두번째 테이블 모두에 있는 행을.. 2015. 4. 5.
SQL 개행문자 제거하기 무슨 요청이 계속 들어오는지 모르겠다.데이터 뽑아달라고해서 뽑아줬더니, 이번에는 개행문자도 제거해서 다시 보내달란다.그럼 애초에 그렇게 말하던가... 시불놈이 ㅠㅠ CHR(10)은 'Line feed, 개행'이고CHR(13)은 'Carriage return, 복귀'이다. 엑셀에서 줄바꿈을 하면 CHR(10)만 입력이 되고,메모장같은 곳에서 줄바꿈을 하면 CHR(10)과 CHR(13) 값 두 개가 입력된다. 엑셀 줄바꿈 => '엑셀' || CHR(10) || '줄바꿈' 메모장 줄바꿈 => '메모장' || CHR(13) || CHR(10) || '줄바꿈' 이다. 그래서 동시에 두개의 값을 제거해줘야한다. 쿼리 내에서 REPLACE(REPLACE(컬럼이름, CHR(10), ''), CHR(13), '') AS.. 2015. 4. 3.
DB2 한줄만 출력하기 DB2에서 한줄만 출력하는 방법 쿼리를 짜다보면 특정한 값 (한줄만) 가져와야하는 경우가 종종 생기는데 가끔 두줄 이상을 가져와서 나를 난감하게 만드는 경우가 많다. 이 쿼리는 내가 안 만든거야;;; 분명히 재작년에 만들고 도망간 어떤 녀석꺼라고!! SELECT * FROM table_name FETCH FIRST 1 ROW ONLY을 해주자. 테이블 맨 뒤에 'FETCH FIRST 1 ROW ONLY' 'FETCH FIRST 2 ROWS ONLY' 2 ROWS 다. ROW+S다. S가 붙는다. 아, 물론 안 붙이고 그냥 ROW라고 해도 잘 나옵니다. (님들 낚임 ^^) 다른 방법으로는 쿼리문 맨 마지막에 LIMIT 1를 주는 것이다.DB2 설정에 따라서 LIMIT가 안될 수도 있다. 예시) SELECT.. 2015. 3. 31.