본문 바로가기

데이터베이스7

[SQL]작성 및 실행 순서를 이해하면 좋은 점 SQL의 작성 순서 1. SELCET 2. FROM 3. WHERE 4. GROUP BY 5. HAVING 6. ORDER BY 7. LIMIT SQL의 실행 순서 1. FROM : 어떤 테이블을? 2. WHERE : 어떤 ROW를? 3. GROUP BY : 어떤 그룹으로? 4. HAVING : 어떤 조건의 그룹을? 5. SELECT : 어떤 컬럼들을? 6. ORDER BY : 어떻게 정렬을? 7. LIMIT : 최종 출력할 ROW중 어떤 ROW를? 이 순서를 이해하면 ALIAS를 쓸 수 있는 절과 아닌 절을 구별할 수 있다. 대표적으로 GROUP BY는 SELECT보다 먼저 실행 되기 때문에 ALIAS를 쓸 수 없지만 ORDER BY의 경우 SELECT 이후에 실행 되기 때문에 써도 된다. 서브쿼리의 .. 2021. 5. 28.
[SQL]데이터베이스와 DBMS, RDBMS 업무 중에도 꽤나 헷갈리는 개념들이라 짚고 넘어가야할 필요성을 느껴서 정리함 DBMS, RDBMS, 서버, 클라이언트 등의 개념부터 mysql, mariaDB, SAS, HIVE 등의 프로그램 이름까지 모호하게 알고 있던 개념들을 선을 그어 정리해보자. 1. DBMS와 RDBMS 위 그림을 보면 사용자가 각자의 응용프로그램을 통해 DBMS에 접근해 원하는 데이터베이스에 접근하고 작업을 진행한다. 즉, DMBS를 사용하는 것은 Client를 통해 server에 접속해 그 안에 있는 데이터베이스를 활용하는 명령을 내리는 것이다. 그 DBMS의 유형은 관계형 데이터베이스 관리 시스템(RDBMS) NoSQL DBMS 인 메모리 데이터베이스 관리 시스템(IMDBMS) 기둥형 데이터베이스 관리 시스템(CDBMS) .. 2021. 5. 15.
NULL의 속성과 특징 앞으로 공부할 NULL의 속성과 특징을 계속해서 업데이트 할 글이다. 먼저 NULL의 속성부터 정리하면 NULL은 아직 정의되지 않은 값으로 0 또는 공백과 다르다. 0은 숫자이고, 공백은 하나의 문자이다. 테이블을 생성할 때 NOT NULL 또는 PK로 정의되지 않은 모든 데이터 유형은 NULL 값을 포함할 수 있다. NULL값을 포함하는 연산의 경우 결과 값도 NULL 값이다. 모르는 데이터에 숫자를 더하거나 빼도 결과는 마찬가지로 모르는 데이터인 것과 같다. 결과값을 NULL이 아닌 다른 값을 얻고자 할때 NVL/ISNULL 함수를 사용한다. NULL값의 대상이 숫자 유형 데이터인 경우는 주로 0을 사용하고, 문자 유형 데이터인 경우는 블랭크보다는 'X' 같이 해당 시스템에서 의미 없는 문자로 바꾸.. 2021. 3. 10.
여러가지 COUNT() 쓰임새 공부하다 보니 너무 헷갈려서 싹 다 해봐야겠다. 1. COUNT(*) 2. COUNT(컬럼) 3. COUNT(DISTINCT 컬럼) 4. 컬럼 1, COUNT(*) - GROUP BY 컬럼 1 5. 컬럼 1, COUNT(DISTINCT 컬럼2) - GROUP BY 컬럼 1 1. COUNT(*) : NULL값을 포함한 전체 행을 출력한다. 2. COUNT(컬럼) : NULL값을 제외한 전체 행을 출력한다. 3. COUNT(DISTINCT 컬럼) : 컬럼 내 DISTINCT한 값 출력한다. 4. 컬럼 1, COUNT(*) - GROUP BY 컬럼 1 : 컬럼 1의 고유한 값을 기준으로 NULL값 포함해서 몇 개의 데이터가 있는지 계산한다. 5. 컬럼 1, COUNT(컬럼) - GROUP BY 컬럼 1 : 4.. 2021. 3. 9.