일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 문과코딩
- sql독학
- outer join
- 문과 코딩독학
- SQL 분석함수
- DBeaver
- inner join
- SQL혼자서
- SQL
- join
- SQL COUNT함수
- 문과SQL
- ROLLUP함수
- PostgreSQL
- group by
- SQL독학으로 자격증
- SQL D
- SQL D자격증
- 코딩독학
- MySQL
- SQL D 자격증
- 마케터코딩
- 조인
- SQL자격증
- SQL D 독학
- SQL문과생
- sql함수
- 마케터SQL
- 마케팅코딩
- DEBEAVER
- Today
- Total
목록SQL 공부 (19)
문과생의 우당탕탕 공부 기록

FULL OUTER는 말 그대로 FULL = 전체 OUTER = 바깥 JOIN = 조인 쉽게 말해, 합집합이다. 전체적으로 NULL값이 생기든말든 상관없이 그냥 다 보여줘!라는 뜻임 저번에 만들어놓은 FRUIT과 ID 테이블로 FULL OUTER JOIN해보자 FULL OUTER JOIN 전부 뽑아내기 NULL값 상관없이 A->B순으로 나오게 된다. 여기서 A와 INNER JOIN되는 부분인 APPLE 과 ORANGE는 위에 나오고 A기준으로 일치하지 않는 것은 B에 NULL값으로나오고 그 다음으로 B의 나머지들이 나온다. 물론 나머지들도 A와 겹치는 것이 없으니, A값에는 NULL로 나온다. FULL OUTER JOIN에서 NULL값만 위 쿼리와 똑같이 작성하였고, WHERE 조건만 변경하였다. 둘 중..

SELF JOIN은 말 그대로 SELF = 스스로 JOIN = 조인한다 라는 뜻이다. 의미: 같은 테이블끼리 특정 컬럼을 기준으로 매칭되는 컬럼을 출력하는 조인이다. 즉 같은 테이블의 데이터를 각각의 집합으로 분류한 후 조인한다. table을 하나 만들어서 self join을 연습해보자 EMPLOYEE라는 테이블을 만들자 거기에 EMPLOYEE_ID 라는 PRIMARY KEY를 넣을 거고 FIRST_NAME은 255바이트의 글자로, NULL이 아니게 LAST_NAME도 마찬가지 그리고 여기에 추가적으로 MANAGER_ID라는 것을 넣을거야 이건 뭐냐면 FOREIGH KEY로 MANAGER_ID를 넣을건데, 이거에 대한 레퍼런스는 EMPLOYEE에서 갖고올거임 (MANAGER_ID는 EMPLOYEE테이블에..

*본 내용은 앞의 JOIN 내용을 시작으로 계속 연결되는 테이블을 사용합니다. OUTER JOIN은 말 그대로 OUTER = 외부의 JOIN = 조인이라는 뜻이다. 흔히 말해서 집합적으로 조인되는 기준으로 LEFT (OUTER) JOIN이면 앞서 언급된 집합 기준으로 교집합까지 포함하여 결과값이 나오고 RIGHT (OUTER) JOIN이면 뒤에 나오는 집합 기준으로 교집합까지 결과값이 나온다. FULL (OUTER) JOIN은 전체 합집합이라고 생각하면 쉽다 저번시간에 만든 테이블을 잠깐 가져오자면 BASKET_A와 BASKET_B라는 테이블을 만들고 각각의 PRIMARY KEY를 FRUIT으로, 가변의 문자열을 (VARCHAR) 100byte로 지정한다. 그리고 null이아니게!! VARCHAR = 가..

저번시간에 작성한 테이블을 바탕으로 INNER JOIN에 대해서 기록을 남기려고한다. INNER JOIN은 말 그대로 INNER = 내부의 JOIN = 조인한다 '교집합'이라는 개념으로 이해하는게 조금 더 쉬울 것 같다. 저번시간에 만든 테이블을 잠깐 가져오자면 BASKET_A와 BASKET_B라는 테이블을 만들고 각각의 PRIMARY KEY를 FRUIT으로, 가변의 문자열을 (VARCHAR) 100byte로 지정한다. 그리고 null이아니게!! VARCHAR = 가변의 문자열 타입으로 100byte까지 넣을 수 있다는 뜻이다 * VARCHAR와 CHAR의 차이점은 다른 게시글로 한번 정리해보겠다 그 다음 BASKET_A와 B에 각각 과일의 종류를 넣어주는 INSERT문을 작성한다. 각각의 테이블에 이런..

조인 JOIN이란? - 2개 이상의 테이블에 있는 정보 중 사용자가 필요한 집합(=정보)에 맞게 가상의 테이블처럼 결과를 보여주는 것이다 종류에는 INNER JOIN OUTER JOIN SELF JOIN FULLOUTER JOIN CROSS JOIN NATURAL JOIN 이 존재한다. 조인은 쉽게 이해하려면 집합의 개념이라고 보면 편하다! 각각의 JOIN에 대한 설명은 다음 작성글에서 정리해보겠습니다. 바로 오늘의 공부 들어가보자고~! 테이블 A와 B를 제작하고 결과값 표를 확인해보는 과정이다. TABLE BASKET_A를 만들어주고 TABLE BASKET_B도 만들어준다 이러고 작성하다가 중간에 잘못 써서 다시 돌리면 SQL을 돌리면 오류가난다 당연함 왜냐면 내가 테이블을 CREATE했는데 또 만들라..

오늘은 실습 두번째이다! 이 기록은 누가 보았을 때, 매우매우 쉬운 것조차 못하고, 나를 바보같다고 생각할 수도 있겠지만.. 누구나 BEGINNER의 과정을 거쳤을 것이며, 나는 이 시작의 기록을 부끄럽지않게 여길 것이다. 바로 오늘의 실습문제 2로 바로 가보자고~ --고객들에게 단체 이메일을 전송하고자 한다. CUSTOMER 테이블에서 고객의 EMAIL주소를 추출하고, --이메일 형식에 맞지 않는 이메일 주소는 제외시켜라. --이메일 형식은 '@'가 존재해야하고, '@'로 시작하거나 끝나지 말아야한다. 자 해당 문제인데.... 내가 처음 짠 ㅋㅋ 말도안되는 SQL을 올려보겠다..ㅋㅋ 당연히 결과에 아무것도 나오지 않았다. 자 이제 잘못된 점을 분석해보자! 1. 실습문제1을 너무 반복해서 쓸데없이 WHE..

Q1. PAYMENT 테이블에서 단일 거래의 AMOUNT의 액수가 가장 많은 고객들의 CUSTOMER_ID를 추출하라. 단, CUSTOMER_ID의 값은 유일해야한다. 하나씩 해보자고! 1. 일단 amount가 가장 큰게 얼마인지 알아보기 위해 표를 만들어보자 amount가 제일 큰게 11.99이다. 상위 1개만 보기 위해서 limit 연산자를 걸어준다. 2. 고객 customer_id를 찾아보자, 유일해야하니까 distinct 함수를 써서 3. 1번이랑 2번 합쳐야하는데 두개니까 하나는 메인쿼리로, 하나는 서브쿼리로-> 중복되는 amount를 기준으로 where 조건을 걸어서 연결해보자 4. 마지막으로 깔끔하게 해주기 위해서 alias 붙여줘서 각 payment 랑 amount를 구분해주자 완성! 근데..

PostgreSQL도 좋지만, 더 넓게 사용할 수 있는 디비에버를 먼저 깔아보자 1. 접속하여 윈도우 installer 누르기 https://dbeaver.io/download/ Download | DBeaver Community Download Tested and verified for MS Windows, Linux and Mac OS X. Install: Windows installer – run installer executable. It will automatically upgrade version (if needed). MacOS DMG – just run it and drag-n-drop DBeaver into Applications. Debian package dbeaver.io 2. 언어..

postgreSQL을 사용하면서,,, 온갖 오류를 하나하나 다 경험해보는 중이다..ㅋㅋ 그 중에서 제일 처음 설치하면서 생기는 'Utility not found' 오류는 그래도 구글링을 통해서 찾아본 결과 'binary path' 경로를 제대로 설치해주면 된다고하였다 위에 'utility not found' 는 구글에서 캡쳐해왔습니다.. 해결하기 전에 정신없어서 캡쳐못함요 무튼 바로 가보자 왼쪽 위에 File>Preferences binary path부분에 위에는 EDB, 밑에는 PostgreSQL 경로 설정이 가능한데, 나는 혹시 몰라서? 위에 EDB에도 설정해주었다. 해당 형광색 표시는 어떻게 찾냐면 폴더를 선택하여 로컬디스크> Program Files> PostgreSQL>15>bin 으로 들어가서..