반응형

Today I Learned/SQL 7

postgreSQL rule 사용하기

https://www.postgresql.org/docs/current/sql-createrule.html CREATE RULE CREATE RULE CREATE RULE — define a new rewrite rule Synopsis CREATE [ OR REPLACE ] RULE name AS ON … www.postgresql.org 규칙을 적용할 테이블: tags tags 테이블에 tag = '과학' 으로 입력될 경우, 새로운 테이블에 이 데이터를 추가해주는 룰을 만들어보자. 1. 룰에 맞는 데이터를 쌓아줄 테이블을 새로 만들어줍니다. CREATE TABLE a_tags ( id INT not null primary key, book_id int, tag text); 2. 규칙을 만들어줍니다. ..

Today I Learned/SQL 2023.07.13

postgresql json data로 변환하고 테이블로 만들어서 사용하기

https://www.postgresql.org/docs/current/functions-json.html 9.16. JSON Functions and Operators 9.16. JSON Functions and Operators 9.16.1. Processing and Creating JSON Data 9.16.2. The SQL/JSON Path Language This section describes: functions and … www.postgresql.org 1. json type의 테이블 만들기 post_json -> table name 아래처럼 테이블을 생성하고 보면, type = jsonb 로 출력된다. CREATE TABLE post_json (jsondata jsonb); 2. 원하..

Today I Learned/SQL 2023.07.13

mac postgreSQL pgenv로 설치하기 + 기본 실습

터미널에서 pgenv로 설치하면, 버전 왔다갔다 하면서 설치해서 사용하기에 편합니다. 1. 터미널 접속해서 명령어 입력 git clone https://github.com/theory/pgenv 2. 버전 설치하기 pgenv build 15.3 * 버전 확인후 가장 최신으로 설치 pgenv available 3. 환경변수 설정해주기 export PATH=$PATH:$HOME/pgenv/bin:$HOME/pgenv/pgsql/bin 4. 데이터베이스 시작 psql -U postgres -h localhost template1 데이터베이스 생성 CREATE DATABASE library; 사용자 생성 및 비밀번호 설정 (user1, '1234' 부분에 각각 원하는 유저이름과 비밀번호 넣기) CREATE US..

Today I Learned/SQL 2023.07.05

[SQL] 대소문자 구분하기 - Binary

SQL 에서 집계함수를 사용하면, 대소문자 구분없이 알파벳이 일치하면 동일한 값으로 본다. ex. User_id Num a 1 A 2 a 3 SELECT User_id, SUM(num) FROM table GROUP BY User_id 위처럼 group by해서 집계할 경우 대소문자 구분없이 아래처럼 출력된다. A : 6 그런데 만약 a 와 A 를 각각 집계하고 싶다면? SELECT User_id, SUM(num) FROM table GROUP BY Binary User_id Binary를 앞에 써주면, 대소문자를 구분해준다. Binary가 없다면 'Hello' = 'hello' 가 True 이지만, Binary 'Hello' = 'hello' 는 False 이다. 참고 링크 www.w3schools.c..

Today I Learned/SQL 2020.10.28

[SQL] SQL , Pandas 같은 데이터 출력하기

SQL과 pandas 문법으로 각각 같은 데이터를 출력해보자 1. 전체 player_id, 유니크 player_id SQL - COUNT(column), COUNT(Distinct column) SELECT count(player_id), count(distinct player_id) FROM table_name Pandas - colums.count(), column.nunique() df_all['player_id'].count() #count df_all['player_id'].nunique() #unique count 2. id별 Game 횟수 * row 1개가 game 1회에 대한 정보를 담고 있음 SQL - GROUP BY SELECT player_id, count(*) AS '게임횟수' FR..

Today I Learned/SQL 2020.10.28

[Bigquery] Time Data 다루기

Google Bigquery 에서 Time data를 다뤄보았습니다. EXTRACT DATE_ADD CURRENT_DATE DATE_TRUNC FORMAT_DATETIME 문제 풀이 [활용 함수] - DATATIME_TRUNC () - FORMAT_DATETIME() - EXTRACT () [참고 문서] https://cloud.google.com/bigquery/docs/reference/standard-sql/time_functions?hl=ko 표준 SQL의 시간 함수 | BigQuery | Google Cloud BigQuery는 다음 TIME 함수를 지원합니다. CURRENT_TIME CURRENT_TIME([timezone]) 설명 현재 시간을 TIME 객체로 반환합니다. 이 함수는 선택적 t..

Today I Learned/SQL 2020.09.29

subquery 를 From 절에 쓸 때 주의할 점

문제 출처 바로가기 👉 이 글에서 이야기하고 싶은 인사이트는 subquery를 From절에 쓸 때 주의할 점이기 때문에, 문제 설명은 skip! 문제의 코드 SELECT d.Name AS Department, e.Name AS Employee, e.Salary AS Salary FROM( -- subquery 시작 SELECT * ,DENSE_RANK() OVER (PARTITION BY d.name ORDER BY e.Salary DESC) as s_rank FROM Employee e INNER JOIN Department d ON e.DepartmentID = d.Id) AS sub WHERE s_rank IN (1,2,3) 주의할 점 1️⃣ 문제코드의 세번째 줄처럼 테이블을 만드는 subquery..

Today I Learned/SQL 2020.08.31
반응형