목록공부 (179)
저장을 습관화
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmwMv6/btsBx7Xy3HU/BKYLMLRVHgoQeSno4Cp3QK/img.png)
ANY와 ALL 연산자는 하나의 컬럼의 값과 다른 값의 범위를 비교할 수 있다. 1. ANY 결과를 부울 값으로 반환한다. 하위 쿼리 값 중 하나라도 조건을 충족한다면 참을 반환한다. 연산자는 비교 연산자여야 한다. (=, , !=, >, >=, 1000) ALL 예시 1) Products 테이블의 모든 레코드의 ProductName을 출력한다. 조건을 담당하는 where가 참이니 아무런 조건을 넣지 않은 것과 같다. select ALL ProductName from Products where true 이하 생략.. ALL 예시 2) 하위 컬럼 - OrderDetails 테이블의 Quantity 컬럼의 값이 10인 레코드의 ProductID를 반환한다. 하지만 이 쿼리는 ALL 문에 묶여 있는 상태이고,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bWHDo3/btsBjcxiLwX/NUelKm7WypjYMIjyT8dFVk/img.png)
1. GROUP BY 동일한 값을 가진 행(ex. 각 국가의 고객 수 찾기)을 요약행으로 그룹화한다. count(), max(), min(), sum(), avg()와 같은 집계 함수와 함께 사용되며 결과 집합을 하나 이상의 열로 그룹화하는 경우에 자주 쓰인다. 예시 테이블 Customers CustomerID CustomerName ContactName Address City PostalCode Country 1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany 2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 5021..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ctQBnl/btsBisHbzqp/22pA3MVASjH7r0zajodYtK/img.png)
1. union 두 개 이상의 select 문의 결과를 결합한다. 단, 이를 위한 조건이 있다. - union 내 모든 select 문에는 동일한 수의 열이 존재할 것 - 열의 데이터 유형이 유사할 것 - 모든 selecct 문의 열이 동일한 순서로 되어 있을 것 union 연산자는 기본적으로 중복을 제거한 고유한 값만 출력한다. 중복값을 허용하려면 union all을 사용한다. union 연산자를 사용하여 출력된 결과 집합의 열 이름은 첫번째 select 문에서 사용한 열 이름이 된다. 예시 테이블 1. Customers CustomerID CustomerName ContactName Address City PostalCode Country 1 Alfreds Futterkiste Maria Anders..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cnvRqA/btsBh3uimdF/Fl0gXPPr0nfGlXK8UIhv7K/img.png)
1. ORDER BY 출력 결과를 오름차순 또는 내림차순으로 정렬한다 오름차순으로 정렬할 때는 ASC(ascending)를 사용하고, 내림차순으로 정렬할 때는 DESC(descending)을 사용한다. 디폴트는 오름차순이기 때문에 지정을 하지 않았다면 오름차순으로 정렬된다. 예시 1) 가격을 기준으로 오름차순으로 정렬 select * from products order by price 예시 2) 가격을 기준으로 내림차순으로 정렬 select * from products order by price desc 예시 3) 숫자가 아닌 문자열인 경우에도 사용 가능하다. 영어와 한국어 모두 적용된다. 상품 이름을 기준으로 알파벳 오름차순으로 정렬 select * from products order by produc..
1. AND 논리연산자 && where 절에서 여러 개의 조건을 설정할 때 사용하며 and 양 옆에 있는 조건이 모두 참인 데이터만 출력함 하나의 where 절에서 여러 and 연산자를 사용할 수 있음 단, 원하는 데이터가 제대로 출력되려면 모든 조건이 참이어야한다. 예시 1) customers 테이블에서 country가 'Spain'이고, customername이 G로 시작하는 데이터를 출력 select * from customers where country = "Spain" and customername like 'G%' 예시 2) country가 "Germany"이며 city가 "Berlin"이고, postalcode가 12000보다 큰 데이터를 출력 select * from customers wh..
1. SELECT 데이터베이스에서 데이터를 선택하는데 사용 예시 1) customers 테이블에서 모든 컬럼의 데이터를 출력 select * from customers 예시 2) customers 테이블에서 customername, city 컬럼의 데이터를 출력 select costomername, city from customers 2. DISTINCT 중복된 값은 제외한 서로 다른(고유한) 값만을 출력함 예시 1) customers 테이블에서 country 컬럼의 데이터를 출력하되, 중복되는 내용은 제외함 select distinct country from customers 3. WHERE 조건을 걸어줌으로써 데이터를 필터링함 예시 1) 검색하고 싶은 데이터의 값이 문자열일 경우 값을 따옴표나 쌍따옴..
0. Microsoft Access database에서는 주석을 지원하지 않는다. 1. 한 줄 주석 `--`로 표현한다. -- 이 부분이 주석 --Select all: SELECT * FROM Customers; --WHERE City='Berlin'; 한 줄에서 중간에 적을 경우 `--` 이후로는 주석으로 처리된다. SELECT * FROM Customers -- WHERE City='Berlin'; -- "Berlin"을 검색하는 where절은 주석처리 되었다. 2. 여러 줄 주석 /*Select all the columns of all the records in the Customers table:*/ SELECT * FROM Customers; 한 줄 안에서 중간 부분만 주석 처리할 수 있다. S..
- 증상 [Nest] 26544 - 2023. 11. 25. 오후 11:01:36 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... AlreadyHasActiveConnectionError: Cannot create a new connection named "default", because connection with such name already exist and it now has an active connection session. at AlreadyHasActiveConnectionError.TypeORMError [as constructor] (C:\Users\admin\OneDrive\바탕 화면\typeorm-i..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cU0w2q/btsAuQJn9po/8bo4qstwgLT81IKh5dJbBK/img.jpg)
AWS RDS를 이용하여 생성한 MySQL DB의 기본 타임존은 UTC로, `select now()`를 입력해서 시간을 확인하였을때 실제 현지 시간보다 9시간 느림 이것을 수정하기 위하여 타임존을 변경하는 방법에 대한 메모 직접 관리하는 서버였다면 `set time_zone = '+9:00'` `# sudo mysql restart` 등의 작업을 진행했겠지만 AWS RDS는 다른 작업을 수행하여야 함 1. AWS RDS - 파라미터 그룹 - '파라미터 그룹 생성' 버튼 클릭 2. 사용할 파라미터 그룹 정보 입력 '파라미터 그룹 패밀리'는 현재 자신이 사용중인 DB의 버전 내가 사용 중인 DB는 MySQL 8.0.33 이므로 'mysql8.0'을 선택함 3. 생성한 파라미터 그룹 이름을 클릭해서 설정 화면..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qFuGd/btsAAMSu8ZN/sCKjkLwZxkcxmKyjQ3GcC1/img.jpg)
- 증상 NestJS + TypeORM + Socket.io로 사용자 간의 채팅 기능 작성 중 서로의 채팅 입력 시간이 9시간 전으로 표시되는 문제 발생 /src/channel.service.ts (입력 내용을 DB에 먼저 저장하고, socket.io를 이용하여 같은 채널 사람들에게 전송함) // ... // 채팅 작성 async postChat({ url, name, content, myId }) { // 채널 조회 const channel = await this.channelsRepository .createQueryBuilder('channel') // 'alias' .innerJoin('channel.Workspace', 'workspace', 'workspace.url = :url', { url..