반응형
반응형
FUNCTION SQL에는 프로시저와 비슷한 기능으로 FUNCTION이라는 것이 존재한다. 직역하면 '함수'라는 뜻인데, js에서의 function과 같은 역할을 한다. 프로시저가 자주 사용되는 쿼리문을 작성하는 함수라면, Function은 자주 사용되는 계산식을 작성해 재사용하는 함수이다. Function은 프로시저와 다르게 CALL 없이 함수이름(파라미터);로 호출하여 바로 사용할 수 있다. RETURN문을 사용해 반환할 값을 지정해 줄 수 있으며, 이때 RETURN 할 값의 타입을 RETURNS 옆에 기재해 주어야 한다. Function을 작성할 때 필요한 데이터 특성 옵션으로는 DETERMINISTIC, NO SQL, READS SQL DATA, MODIFIES SQL DATA 이 있는데 공식 문..
프로시저에는 개인적으로 특별한 추억이 있다. 대학교 3학년, 전과를 결심하고 처음으로 신청한 수업 중 하나가 DB수업이었다. 오라클 SQL Developer를 사용한 수업이었는데 나만 3학년이고 나머지는 모두 1,2학년이었다. 게다가 과도 조경과라고 되어있으니(전과 신청 학기라 전과는 다음학기에 실반영되었다) 교수님이 출석 부를때마다 나를 아주 신기하게 쳐다봤던 기억이 있다.ㅎㅎ 당시의 나는 설치부터 막히는 사람이었기 때문에.. 질문을 마구마구 쏟아부었는데 가끔 너의 열정에 지친다고 하셨었다(ㅋㅋㅋ). 그때가 안식년 직전이셨어서 지금은 은퇴하셔서 학교에 찾아가도 이제는 뵐 수 없게 되었다. 올해 7월에 서울에 있는 개발사 면접 제안을 주셨을때 갈 수 있었다면 참 좋았을걸, 망할 코로나로 2달내내 입원해있..
UNION sql 작업을 하다 보면 여러개의 SELECT문을 사용하게 된다. 보통의 sql 툴은 작업 결과를 여러개의 탭에 나누어 출력해준다. 예를 들어 아래의 세 개의 SELECT문을 실행하면 다음과 같이 결과가 세 개의 탭으로 나누어 각각 출력된다. 이 결과들을 여러개의 탭이 아닌, 하나의 탭에서 한번에 보려면 어떻게 해야할까? 이럴 때 바로 UNION을 사용해 줄 수 있다. UNION을 사용할 때에는 반드시 컬럼의 개수가 같아야 한다. 또한 보편적으로 동일한 데이터타입, 동일한 컬럼 이름을 가진 데이터를 출력할 때 주로 사용한다. 조회 쿼리 1 UNION 조회 쿼리 2 결과를 살펴보면 이상한 점을 발견할 수 있다. 마지막 조회 쿼리인 SELECT id, name, age FROM pet.aboutp..
JS 풀스택 웹개발로 진로를 정하면서 주로 사용했던 몽고DB, 즉 NoSQL은 조인과 정규화라는 작업이 존재하지 않았다. 정확히는 존재했지만 RDBMS처럼 까다롭지 않았다... 한개의 테이블이라고 할 수 있는 한 개의 Collection에 관련된 항목을 JOSN key값으로 설정해주고, 만일 다른 테이블에 있는 내용을 함께 저장하는 JOIN이 필요할 경우 ref:테이블이름 을 적기만 하면 끝나는 단순한 형태였다. 너무나 쉽다는것은 때때로 단점이 되기도 한다. 너무 쉬워서... 그것만 사용하다 보니 관계형 데이터베이스를 일정부분 까먹게 되는 것이다... 따라서 다시는 잊지 않기 위해 중요한 개념인 정규화와 외래키에 대해 실습하고, 조인시킨 데이터를 DML로 다루어본다. 예시를 직접 만드는게 정말 쉬운일이 ..