반응형

DB 8

postgresql) 서브쿼리란?

데이터베이스를 다루다 보면 특정 조건을 만족하는 데이터를 추출하기 위해 **서브쿼리(Subquery)**를 사용해야 할 때가 많습니다. 서브쿼리는 다른 쿼리 안에서 실행되는 쿼리로, 종종 메인 쿼리의 조건을 결정하는 데 사용됩니다.이번 글에서는 PostgreSQL에서 서브쿼리를 사용하는 방법과 실제 예제를 통해 서브쿼리를 이해해보겠습니다.1. 서브쿼리란?서브쿼리는 SELECT, INSERT, UPDATE, DELETE 등의 SQL 문 내부에서 실행되는 쿼리입니다. 보통 WHERE, FROM, SELECT 절에서 사용됩니다.서브쿼리는 다음과 같이 분류할 수 있습니다:스칼라 서브쿼리 (Scalar Subquery): 하나의 값을 반환하는 서브쿼리다중 행 서브쿼리 (Multi-row Subquery): 여러 ..

DB/postgresql 2025.03.03

unneset & string_to_array

unnest와 string_to_array는 PostgreSQL에서 배열을 다루고, 문자열을 배열로 변환하는 데 사용되는 함수들이다. 1. string_to_array먼저, string_to_array를 보면, 문자열을 특정 구분자로 분할하여 배열로 변환해준다.string_to_array(text, delimiter)여기서 text는 분할하고 싶은 원본 문자열을 뜻하고, delimiter는 문자열을 나눈 구분값을 말한다.예를들어, 컬럼값 안에 이메일들이 여러개 있는데 이것을 , 로 나누고 싶으면SELECT string_to_array('email1@example.com, email2@example.com, email3@example.com', ',');이렇게 하면 결과값이 {email1@example.c..

DB/postgresql 2024.11.15

left, right join 이란?

left join과 right join은 mysql에서 자주 사용되는 조인 방식이다. 이 두 조인 방식은 어떻게 데이터가 병합되는지에 따라 다르게 사용되는데 아래에서 예제와 함께 설명하겠습니다. - 유저 테이블 userId userName 1 철수 2 영희 3 영지 - order 테이블 orderId userId product 101 1 플스5 102 2 닌텐도 1. left join : left join 은 주로 왼쪽 테이블의 모든 레코드와 오른쪽 테이블에서 매칭되는 레코드를 반환한다. 오른쪽 테이블에 매칭되는 레코드가 없는 경우에는 해당 레코드에 대해 null 값을 반환한다. : 위의 예제테이블에서 left join을 한다면 쿼리와 결과값은 다음과 같습니다. 1) 쿼리 SELECT users.user..

DB/mysql 2023.11.21

식별, 비식별 관계

데이터베이스 설계에서 식별 관계(Identifying Relationship)와 비식별 관계(Non-Identifying Relationship)는 두 테이블 간의 관계에서 외래 키(Foreign Key)가 어떻게 사용되는지에 대한 개념입니다. 1. 식별 관계 (Identifying Relationship) - 식별 관계에서, 자식 테이블의 외래 키가 동시에 자신의 기본 키(Primary Key)의 일부가 됩니다. - 이 관계는 부모 테이블의 기본 키가 자식 테이블에 없으면 의미가 없는 경우에 사용됩니다. 즉, 자식 테이블의 레코드가 부모 테이블의 레코드에 의해 식별됩니다. - 부모 테이블과 자식 테이블 간에 강한 종속성이 있습니다. 부모 레코드가 삭제되면 관련 자식 레코드도 삭제됩니다.(엄격한 무결성 ..

DB/mysql 2023.10.31

[mysql] 자주 사용하는 기본 쿼리문 정리

CREATE CREATE DATABASE 데이터베이스이름 USE 데이터베이스이름 CREATE TABLE 테이블이름 ( 필드이름1 필드타입1, 필드이름2 필드타입2, ... ) 제약 조건(constraint) NOT NULL: 해당 필드는 NULL 값을 저장할 수 없게 됩니다. UNIQUE: 해당 필드는 서로 다른 값을 가져야만 합니다. PRIMARY KEY: 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 됩니다. FOREIGN KEY: 하나의 테이블을 다른 테이블에 의존하게 만듭니다. DEFAULT: 해당 필드의 기본값을 설정합니다. ALTER ALTER 문을 사용하여 데이터베이스와 테이블의 내용을 수정할 수 있습니다. ALTER DATABASE 데이터베이스이름 CHARACT..

DB/mysql 2023.08.22

[mysq]서브쿼리란?

mysql에서 보편적으로 가장 많이 사용하는 쿼리는 select * from table; 명령어일 것이다. 이 때, 다른 테이블의 컬럼들도 같이 select 할 때에는, 보고자 하는 테이블의 관계가 있을 때에는 inner join이나 outer join 등을 사용하여 많이들 사용할 것이다. 그런데 간혹 select * from 의 *에 또다시 select를 하는 쿼리가 있는 경우가 있는데, 이를 서브쿼리라고 한다. 그렇다면 서브쿼리는 무엇일까? - 서브쿼리는 한 쿼리 내에서 다른 쿼리를 사용할 수 있는 기능으로서, 여러형태로 사용할 수 있는데 보통 where절, from절, 그리고 select 절에서 많이 사용된다. 아래에는 select, where, from 각각의 사용 예시이다. 1. where절 예..

DB/mysql 2023.08.06

[dynamoDB] 목록쿼리 및 Scan

1. 유저목록 뽑는 Scan Scan { "TableName": "marketboro-oper-admin", "FilterExpression": "PK = :pk", "ExpressionAttributeValues": { ":pk": { "S": "USER" } } } // 1. TableName : 원하는 테이블명 // 2. FilterExpression : Scan에서 PK 와 SK 중 하나를 적는데 이는 mysql의 Where절과 비슷하다. // 3. ExpressionAttributeValues: 해당 부분은 :=pk 에 대한 정의이다. 그리고 "S" 부분은 string 형식을 뜻하는데 아래에는 몇가지 예시를 들겠다. 'S': 문자열 'N': 숫자 'B': 바이너리 'BOOL': 불리언 (참/거짓..

DB 2023.07.11

mysql-기본 쿼리문

안녕하세요. 오늘부터 본격적으로 mysql을 입문하려 합니다. 사실 mysql은 전에도 조금 배우긴 했었지만 짧게 배우고 한동안 사용할 일이 없어서 완전 놓고 있었는데.... 취업을 하고 프로젝트를 맡으면서 백앤드 쪽으로 일을 하다보니 db의 중요성을 새삼 느끼게 되서 늦었지만 지금부터라도 차근차근 공부해보려 합니다. ㅎㅎ 저는 '데이터베이스 개론과 실습' 이라는 교재를 베 2021.09.12 - [빅데이터분석가/mysql] - mysql-기본 쿼리문 이스로 공부를 진행할 예정이고 다른 인강들을 통해 db관련된 내용들을 블로그에 남겨보려 해요. 개론적인 내용도 담을테지만 아마 쿼리문 위주로 주석 설명을 달아서 업로드하는게 전부일 수도 있지만 하루하루 공부를 했다는 것을 목표로 하는 것이기 때문에 만약 이..

DB/mysql 2021.09.12
반응형