SQL = '씨퀄'이라고 불림SQL은 1974년에 SEQUEL (씨퀄)로 탄생 했지만, 지금 이름인 SQL로 변경 되어 지금까지 SQL 불린다. 그러나 에 스-큐-엘 이 아닌 씨퀄로 주로 발음된다.절차적 언어(procedural language)가 아닌 선언적 언어(d
어떤 집합을 가져올지 정하는 부분 = 조건을 걸어서= 같음파이썬은 == 인데 헷갈리지 말자 ! ~보다 큰< ~보다 작은= ~보다 크거나 같은<= ~보다 작거나 같은<> , != ~가 아닌 AND 그리고OR 혹은먼저 sql을 짤때 alignment 를 하
데이터 조회와 필터링COLUMN_NAME이 가지고 있는 집합에서 VALUE1, VALUE2 등의 값이 존재하는지 확인COLUMN_NAME이 가지고 있는 집합에서 TABLE_NAME2의 COLUMN_NAME2의 집합이 존재하는지 확인(아래) OR 적는 것 = , 콤마찍
⇒ 두개이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법보통 Primary key혹은 Foreign key로 두 테이블을 연결테이블을 연결하려면 적어도 하나의 칼럼은 서로 공유되어야 한다.= intersect교집합의 느낌이다.A 테이블과 B 테이블이 모두
테이블의 레코드를 grouping 하기 위해 사용국가, 성별 같이 같은 값을 가진 카테고리별로 묶어서 조회aggregate functions <집계 함수> (COUNT(), MAX(), MIN(), SUM(), AVG())와 함께 자주 사용됩니다.WHERE 절이
서브쿼리집합연산자와 서브쿼리 = ANY연산집합연산자와 서브쿼리 = ALL연산집합연산자와 서브쿼리 = EXISTS연산하나의 SQL 문에 포함되어 있는 또 다른 SQL 문SELECT문 내의 또다른 SELECT문 같은거서브쿼리를 괄호로 감싸서 사용한다.서브쿼리는 단일 행 또
조인과 집계 데이터조인과 집계데이터= Grouping Set절조인과 집계데이터 = Roll up 절조인과 집계데이터 = Cube 절조인과 집계데이터 = 분석 함수란조인과 집계데이터 = AVG함수조인과 집계데이터 = Row Number , Rank , Dense_Rank
조인과 집계데이터 = 분석 함수란 특정 집합 내에서 합계 및 카운트 계산 결과 건수의 변화 X 사용하고자 하는 분석함수를 쓰고 대상 컬럼을 기재 후 PARTITION BY에서 값을 구하는 기준 컬럼을 쓰고 ORDER BY에서 정렬
파이썬의 IF ~ ELSE 문 같은 조건문을 구현 할 수 있다.CASE 표현은 IF - THEN - ELSE 논리와 유사항 방식으로 사용할 수 있는 함수이다.오라클에서는 DECODE 함수를 사용할 수도 있다.입력한 컬럼값 중에서 NULL 이 아닌 첫번째 값을 나타냄
‘트랜잭션’이란 '거래'라는 뜻으로 데이터베이스 내에서 하나의 그룹으로 처리되어야 하는 명령문들을 모아 놓은 논리적인 작업 단위이다.여러 단계의 처리를 하나의 처리처럼 다루는 기능여러 개의 명령어의 집합이 정상적으로 처리되면 정상 종료된다.하나의 명령어라도 잘못되면 전
📌 그룹함수의 필요성 > 그룹 함수(GROUP FUNCTION)의 필요성 > > > 결산 개념의 업무를 가지는 원가나 판매 시스템의 경우는 소계, 중계, 합계, 총 합계 등 여러 레벨의 결산 보고서를 만드는 것이 중요 업무 중의 하나입니다. 개발자들이 이런 보고서를
행과 행 간의 관계를 쉽게 정의하기 위해 만든 함수가 윈도우 함수다. ⇒ 분석 함수나 순위 함수랑 동의어 OVER 문구가 키워드로 필수 포함WINDOW_FUNCTION : 윈도우 함수ARGUMENTS(= 인수) : 함수에 따라 0 ~ N개 인수가 지정될 수 있다.P
단일 문의 범위 내에 존재서브쿼리로 쓰이는 파생테이블(derived table)과 비슷한 개념복잡한 쿼리문에서 코드의 가독성과 재사용성을 위해 파생테이블 대신 사용하기에 유용즉, 서브쿼리보다 깔끔할수도 ?해당 문 내에서 여러 번 참조할 수 있는 명명된 임시 결과 집합
묵시적 조인SELECT 속성명FROM 테이블1, 테이블2WHERE 테이블1.속성1 = 테이블2.속성1명시적 조인SELECT 속성명FROM 테이블1 JOIN 테이블2ON 테이블1.속성1 = 테이블2.속성1서브 쿼리는 복잡한 SQL 쿼리문에 많이 사용됩니다.반면에, 조인은
날짜와 시간은 date 와 string 을 왔다갔다 하므로 잘 비교해줘야 한다.날짜를 문자형 형태로 비교하기 위해서는 date 타입을 string으로 변환TO_CHAR() 함수를 이용string 형태를 date 형태로 비교하고 싶은 경우 TO_DATE() 함수를 이용
특정한 조건의 문자를 ‘검색’하거나 ‘치환’하는 과정을 매우 간편하게 처리할 수 있도록 해주는 수단해당 Pattern과 일치하는 문자열을 검색하는 것= 대상 문자열에 정규표현식을 적용해서 찾을 문자열을 검색해내는 것RegexOne - Learn Regular Expre
SQL 관련 글들 먼저 읽어볼 링크 정리 입니다. 꼭 읽어보세요 !!! 가장 중요한 데이터는 이미 내부에 있다 초보자를 위한 SQL 가이드 데이터 분석, SQL만 잘 다뤄도 먹고 들어갑니다. 데이터 분석, 먹고 들어가기 위한 SQL 공부법(1편) [DB] 진짜
먼저 집계 테이블을 구하는데 위에 분류된 기준을 사용해 컬럼을 생성해준다. 그다음 나이브하게 5등분으로 나누어 준다. 위에서 만든 테이블은 CTE 형식으로 나타내어 주어도 좋지만 서브쿼리를 사용하여 나타내어 본다. 결과 테이블RFM CELL 을 만들어 준다. 서브쿼리
1=1 말그대로 참 딱히 의미를 가지는건 아님쿼리를 다시 한번 훑을때 (디버깅) 주석처리하기 편하다 대신을 쓰면 이렇게 쉽게 주석처리 가능하다 .하나씩 주석처리하면서 쿼리 확인가능 ! LIMIT 걸어서 보는것도 잊지말자 https://dejavuhyo.gith
CHAR_LENGTH \- 문자열의 길이를 return 한다.공백을 찾고싶어서 ' ' 를 사용 \- 다른 문자를 찾고싶으면 두번째 ''안에 다른 문자를 넣으면 됨 ''으로 대체 하는 replace 사용이런식으로 나누어 라벨링 가능
을으로 작성하면 공백만 바뀐다.모든 화이트 스페이스 제거를 위해서는 (외부에서 오는 데이터는 언제든 이상한 값으로 올수 있기 때문에 )
“검색할때 인덱스를 타면 빨라진다"이런 말을 많이 들어보았을 것이다. 그렇다면 인덱스는 무엇인가? 이미지 출처 : https://mangkyu.tistory.com/96인덱스는 Database 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조 (= 책에서의
WEEK(date,mode)주 번호 반환 / 주의 시작 날짜가 일요일인지 월요일인지와 반환 값이 0 ~ 53또는 1~ 의 범위에 있어야 하는지 여부를 지정mode 인수를 생략하면 default_week_format사용If the week containing Januar
1 대부분의 Mysql 인덱스 (PRIMARY KEY, UNIQUE, INDEX, and FULLTEXT)는 B-tree안에 저장된다. 예외적으로 spatial 데이터 타입은 R-tree를 사용 메모리 테이블은 또한 hash index를 지원 InnoDB는
SQL 코드 - 주석 가능하면 C 스타일을 열고 /를 닫고 /를 닫습니다. 그렇지 않으면 주석 앞에 '--' 를 붙이고 새 줄로 끝냅니다ISO 8601 호환 시간 및 날짜 정보를 저장하는것을 기본으로 합니다. ( YYYY-MM-DD HH:MM:SS.SSSSS).SELE
참고 : SQL튜닝 방법론ORACLE Select 쿼리 튜닝 순서튜닝 프로젝트에 투입되었다고 가정하고, 성능이 느린 Select문 하나를 받았을 때 튜닝을 어떻게 해야 하는지에 대해서만 설명조인이 없는 경우는 적절한 인덱스를 사용하는 것 만으로도 상당한 효과를 볼 수
파티션 - 구획 분할MySQL 서버 입장에서는 데이터를 별도의 테이블로 분리해서 저장하지만 사용자 입장에서는 하나의 테이블로 읽기와 쓰기를 할 수 있게 해주는 기능을 의미큰 table이나 index를, 관리하기 쉬운 partition이라는 작은 단위로 물리적으로 분할하
사실(Fact)차원(Dimension)속성(Attribute)계층(Hierarchies)구조하나의 사실 테이블(Fact Table)을 중심으로 다수의 차원 테이블(Dimensional Table)들로 구성장단점장점모델이 단순하여 이해 쉬움계층 구조 정의 용이응답 성능
고객들의 하루 행동패턴을 보고싶을때 어떻게 보면 좋을까 ? cust_seq = 고객번호Reg_dttm = 로그가 등록된 일자tracking_cd = 행동한 로그 로그를 기록하는 테이블을 일자별로 나열한다. 아래와 같이 코드를 작성하면 고객별 , 일자별 로그가 기록된다.
SQL index와 Partitioninsert & on duplicate => 있으면 인서트 없으면 업데이트 ! excel에서 insert 구문 만드는 법update set value쿼리튜닝 테이블 풀스캔드라이빙 테이블해빙과 웨어절 등 로컬 db 구축 방법 mysq
IS DISTINCT FROM는 Presto에서 두 값이 서로 다른지를 비교할 때 사용하는 특별한 비교 연산자입니다. 이 연산자는 일반적인 비교 연산자(=, !=)와 달리, NULL 값도 비교할 수 있습니다. NULL 값은 SQL에서 특별한 값으로 취급되기 때문에, 일