SQL

❌이전글/이전글

ORACLE - 그룹 바이(GROUP BY) (1)

그룹바이를 정리해보고 싶었다. 그래서 정리해봤다. 먼저 그룹바이를 알기 전 SQL 실행 순서를 알아야 한다고 배웠다. SQL 실행 순서 FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY Group by 란? 데이터를 그룹화하는 문법, 값은 값을 가진 데이터끼리 모으는 것 GROUP BY 컬럼이 아니면 집계함수로 표현해야한다 GROUP BY 컬럼이 아니면 SELECT 절에서 집계함수를 사용하지 않으면 에러가 난다 SELECT * FROM EMP GROUP BY DEPTNO ---------------- SQL Error [979] [42000]: ORA-00979: GROUP BY 표현식이 아닙니다. 테스트에 사용한 데이터 오라클에서 주는 SCOTT스키마를 사용..

❌이전글/이전글

DBeaver : no active connection 대체 뭐야.....?

DBeaver 툴을 사용중 갑자기 No active connection 라는 에러를 만났다. Test Connection을 누르고, 연결이 잘되는 것을 확인하고 쿼리를 실행시켰지만 아래와 같은 에러가 자꾸 뜬다. 툴을 삭제하고 다시 설치도 해보고 구글링도 열심히 해보았지만, 나같은 사례를 못찾았다. 환장하겠다. 한동안 SQL Developer 를 사용하다, 너무 불편해서 다시 문제해결방법을 찾아보았다. 그러다 단축키 중 Switch active connection (for SQL script)라는 걸 찾았는데, CTRL + 9를 누르면 아래와 같이 창이 하나 뜨는데, 사용할 데이터베이스를 클릭하고, 쿼리문을 실행하자 정상 파싱되고 테이블을 출력해줬다. 대체 이게 무슨 에런지 이해를 못하겠다.... 오렌지..

❌이전글/이전글

오라클 한글 3byte -> 2byte변경

오라클 한글 3byte -> 2byte 변경 cmd창에서 sqlplus /as sysdba 로 접속 후 #쿼리문 ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; ALTER SYSTEM SET AQ_TM_PROCESSES=0; ALTER DATABASE OPEN; ALTER DATABASE CHARACTER SET KO16KSC5601; ALTER DATABASE CHARACTER SET INTERNAL_USE KO16KSC5601; shutdown immediate; 위 내용 복사 붙여넣기 노란색은 에러날 수 있음, 무시하기 이후 쿼리문을 사용시 * 1행에 오류: ORA-01034: ORACLE not avai..

❌이전글/이전글

오라클(Oracle) - INNER 조인(JOIN)을 이해해보자

#JOIN - 두 개 이상 테이블을 묶어서 하나의 결과 집합으로 만들어 내는 것을 뜻합니다. - 데이터베이스에서 중복데이터를 피해서 데이터를 여러테이블로 나눠서 저장하고, 이 때 나눠진 테이블을 동일한 컬럼을 기준으로 원하는 결과를 출력하기 위해 조인을 합니다. 조인의 정확하게 이해하기 위해서 그림으로 그려서 만들어봤습니다. 두개의 테이블이 있을 때 INNER JOIN 예시 위 두테이블에서 U_NAME으로 조인을 할 수 있습니다. USER_TABLE과 BOARD_TABLE에서 테스트1, 테스트2의 값이 있는데, BOARD_TABLE에서 노란 행을 INNER, 겹치지 않는 부분 하얀색 행을 OUTER라고 합니다. 여기서 두테이블을 조인을 하면 하얀색 행인 OUTER행은 삭제되어 아래와 같이 출력됩니다. #..

❌이전글/이전글

SQL SELECT 명령어 실행 순서

FROM > CONNECT BY > WHERE > GROUP BY > HAVING > ORDER BY >SELECT 사이사이에 다양한 예약어가 들어가겠지만 크게 간추려본다면 이렇게 되는 듯. 그리고 SELECT 절에서 사용한 별칭은 HAVING절이나, WHERE절에 사용할 수 없음. SELECT COUNT(*) A, B_TYPE AS B FROM BOARD GROUP BY B_TYPE HAVING COUNT(*) > 100; 예를 들어 이런 쿼리가 있는데, 위 쿼리문은 아래와 같은 결과 값을 출력해준다. SELECT 안의 COUNT(*) 에 A라는 별칭을 줬고, 이 별칭을 HAVING절 옆 COUNT(*)를 대신 해보자. 에러가 발생, 명령어 실행할 때 WHERE절, HAVING절이 먼저 실행되서 에러가..

부드러운당근무침
'SQL' 태그의 글 목록