DATABASE
-
UNION과 UNION ALL의 차이점DATABASE/Hive 2024. 9. 29. 11:57
프로젝트를 진행하면서 순위 관련 쿼리문을 자주 작성하다 보니, UNION과 UNION ALL에 대해 더 깊이 알아봐야겠다는 필요성을 느꼈다. 또한 중복된 데이터가 왜 필요한지, 그리고 주로 어떤 곳에 활용되는지에 대한 궁금증이 생겼다. 이를 통해 더 알아볼 필요가 있다고 생각했다. UNION과 UNION ALL 둘 다 두 개 이상의 쿼리 결과를 합치는 데 사용되지만, 중요한 차이점이 있다. 1. UNION (중복 제거)- 중복을 제거한다.- 결과 집합에서 중복된 행은 한 번만 나타난다. 1) 중복 제거가 필요한 경우/*여러 쿼리의 결과를 결합하면서 중복된 레코드를 제거하고 싶을 때 사용한다.예시로 두 개의 테이블에서 고객 데이터를 가져와서 고유한 고객 목록을 생성하고 싶을 때 적합하다.*/SELECT c..
-
HiveQL - SELECT 문DATABASE/Hive 2024. 6. 11. 21:53
중첩 SELECT 문상위 2개의 테이블을 사용하여 고객의 총 주문 금액을 계산하고, 총 주문 금액이 300,000원 이상인 고객을 선택하는 쿼리를 작성했다.SELECT a.고객ID ,a.이름 ,a.총_주문금액 FROM ( SELECT 고객.고객ID, 고객.이름, SUM(주문.주문금액) AS 총_주문금액 FROM 고객 JOIN 주문 ON 고객.고객ID = 주문.고객ID GROUP BY 고객.고객ID, 고객.이름 ) a # 서브쿼리를 이용하여 a라는 테이블로 임시 테이블을 생성WHERE a.총_주문금액 >= 300000 # 조건에 일치하는 데이터를LIMIT 10; # 상위 10위를 뽑아냄 결과 1) 서브쿼리의 결과는 다음과 같다.고객ID이름총_주문금액1김철수2..
-
이것이 MySQL이다 - 1장 DBMS 분류, SQL 개요, MySQL 소개DATABASE/MySQL 2024. 2. 21. 23:23
목차 1. DBMS 분류 2. SQL 개요 3. MySQL 소개 1. DBMS 분류 현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많은 부분을 차지하며, 일부 멀티미디어 분야에서 객체지향형이나 객체관계형 DBMS가 활용되고 있는 추세이다. 1) 계층형 2) 망형 3) 관계형(MySQL,Oracle,DB2,SQL Server,Access 등) 4) 객체지향형 5) 객체관계형 1-1. 계층형 DBMS 1) 처음으로 나온 DBMS의 개념으로 1960년대에 시작되으며 트리형 구조이다. 2) 처음 구축한 이후에는 구조를 변경하기가 까다롭다. 3) 주어진 상태에서의 검색은 상당히 빠르지만, 접근의 유연성이 부족해서 임의의 검색에는 어려움이 따른다. 1-2.망형 DBMS 1) 계층형 DBMS의 문제점을 개선하..
-
이것이 MySQL이다 - 1장 데이터베이스/DBMS 개념 파악DATABASE/MySQL 2024. 2. 20. 17:29
데이터베이스/DBMS 개념 파악 1. 데이터베이스란? 1) 데이터의 집합이다. 2) 여러명의 사용자가 동시에 공유하고 접근한다. 2. DBMS(Database Management System)란? 1) 데이터베이스를 운영하기 위한 시스템 또는 소프트웨어이다. 2) 여러명의 사용자가 동시에 관리하고 사용한다. 3) 대표적으로 MySQL, MariaDB, PostgreSQL, Oracle, SQL Server등이 있다. 3. DBMS(Database Management System) 특징 1) 데이터의 무결성 - 데이터베이스 안의 데이터는 어떤 경로를 통해 들어 왔던지 데이터에 오류가 있어서는 안 된다. 이 무결성을 위해서 데이터베이스는 제약조건이라는 특성을 가진다. 예시로 학생 데이터에서 모든 학생은 학번..
-
VARCHARDATABASE/MySQL 2024. 1. 23. 17:56
프로젝트를 진행하면서 varchar에 대하여 많은 고민이 들었었다. 그리하여 되짚어보며 궁금했던 점들에 대한 내용에 대한 검색 돌입!🤔 1. MySQL에서 VARCHAR와 TEXT 차이점은? 2. 지정된 길이보다 더 긴 문자열이 데이터베이스에 저장된다면 어떻게 될까? 1. MySQL에서 VARCHAR 와 TEXT 차이점은? TEXT(또는 CLOB)나 BLOB와 같은 대용량 데이터를 저장하는 컬럼 타입을 LOB(Large Object) 타입이라고 한다. RDBMS 에서는 LOB 데이터를 Off-Page 라고 하는 외부 공간에 저장한다. https://dev.mysql.com/doc/refman/8.0/en/char.html MySQL :: MySQL 8.0 Reference Manual :: 13.3.2 ..
-
DBeaver로 ERD생성하기DATABASE/PostgreSQL 2024. 1. 21. 19:44
프로젝트를 진행하면서 항상 dbdiagram으로 ERD를 작성했는데, 조금 더 깔끔하게 보기 쉽게 정리하는 방법에 대해 고민해 보게 되었다. DBeaver를 활용해서 DB 다이어그램을 생성하는 것도 간편하고 정돈된 느낌이 들어 공부하며 직접 만들어 보았다. 1. DBeaver 접속 후 Diagrams 우클릭 -> 새 ER 다이어그램 클릭 2. Name에 생성할 Diagram 이름 입력 -> Initial content에서 해당 DB 클릭 -> 완료 클릭 3. 생성된 ERD 확인 후 보기 쉽게 정렬하기
-
DBeaver로 PostgreSQL 연결하기DATABASE/PostgreSQL 2024. 1. 20. 19:51
1. 설치 아래 주소로 접속하여 DBeaver를 설치해 준다. https://dbeaver.io/download/ Download | DBeaver Community Download DBeaver Community 23.3.4 Released on February 5th 2024 (Milestones). It is free and open source (license). Also you can get it from the GitHub mirror. DBeaver PRO 23.3 Released on December 11th, 2023 PRO version website: dbeaver.com Trial version dbeaver.io 2. PostgreSQL 연결하기 1) 우클릭 -> Create ->..
-
PostgreSQL 사용법DATABASE/PostgreSQL 2024. 1. 19. 18:29
SQL을 사용해 보며 Postgre를 사용할 일이 생겨 처음 연결부터 데이터 확인 하는 법까지 차례차례 기록해 보았다. 목차 1. PostgreSQL 설치 2. PostgreSQL 접속 3. 사용자 생성 4. 데이터베이스 생성 5. 데이터베이스 확인 1. PostgreSQL 설치 (Mac OS) 1) 터미널에서 설치 brew postgres 2) 홈페이지에서 설치 https://www.postgresql.org/download/ PostgreSQL: Downloads www.postgresql.org 2. PostgreSQL 접속 1) 서비스 시작 brew services start postgresql 2) 터미널에서 postgre접속하기 psql postgres 3) 사용자 확인 postgres=# \..