반응형 SQL20 [TIL] : 58 일일 배움을 위한 Today I Learned ! 소경관 프로젝트 진행 중 교수님의 요구 사항이 들어와서 데이터 베이스 관련해서 변경하고 있다. 일단 NoSQL 기반으로 해야 하기 때문에 Ubuntu에 MongoDB를 설치하고 어떻게 바꿔줘야 할지 생각을 하고 있다. 2021.12.23 - [Project/소경관] - [소경관] : 프로젝트 진행 중 요구 사항 발생 ! 2021.12.23 - [Project/소경관] - [소경관] : Ubuntu 18.04.05에 MongoDB 설치 Python 커뮤니티에 리뷰 이벤트로 받은 머신러닝 관련 책 내용이 너무 좋아서 오늘 출판사에 이메일을 보내 저작권 관련 블로그 포스팅 문의를 넣어 답을 받았다. 앞으로 파이썬 데이터 분석 머신 러닝에 대한 공부도 조금씩 해.. 2021. 12. 23. [소경관] : 프로젝트 진행 중 요구 사항 발생 ! 프로젝트 진행 중 변경 사항 발생(중요) 이 소경관 프로젝트는 개인 프로젝트이기도 하지만 학교에 제출해서 평가받는 프로젝트이기도 하다. 보통 학교에서 1학기 시작할 때 교수님이 요구 사항을 주신다고 했는데 2학년 선배들에게 들어 미리 전년도와 비슷한 맥락의 프로젝트를 구상하고 있었다. 대충 내용은 API 2개 이상 활용, 기본 기능만 있어선 안 됨 정도만 들었는데 오늘 요구 사항이 나왔다. ○ 평가방법 -------------------------------------------------------- 1. 설계산출물 중 WBS에 정의된 항목에 대해 100% 구현 - 구현 : 교수 평가에 따라 A-D까지 학점 부여 - 구현 못함 : F학점 부여 ---------------------------------.. 2021. 12. 23. [ TIL] : 46 일일 배움을 위한 Today I Learned ! 알고리즘 간단하게 백준 알고리즘 풀던 부분을 이어서 풀었습니다. 이전 문제들 보다 쉬운 기초 문제였습니다. 2021.12.11 - [Algorithm/백준] - [백준] : 2741 Python,파이썬 풀이 소경관 이제 본격적으로 프로젝트 진행을 위해 Ubuntu에 Mysql을 설치하고 윈도우의 workbench로 외부 접속하는 것을 진행했습니다. 오류가 조금 있었지만 구글링을 통해 잘 해결했고 해결법을 간단하게 정리하면서 마무리합니다. 2021.12.11 - [Project/소경관] - [소경관] : Ubuntu를 PuTTY로 접속하기 2021.12.11 - [Project/소경관] - [소경관] : Ubuntu에 MySQL설치하기 2021.12.11 .. 2021. 12. 11. [T.I.L] : 35 일일 배움을 위한 Today I Learned ! SQL , oracle sql을 처음 배울 때 그냥 그렇구나 했던 문장들을 프로젝트 몇 개 만들어 보고 다시 보니 중요한 문법을 잘 캐치할 수 있어서 복습은 언제나 좋은 것 같습니다. 오늘은 기초 연산자들하고 order by 절 기초를 공부했습니다. 처음에는 그렇구나 하고 넘긴 것을 이번에는 잘 캐치해서 활용할 수 있도록 하는 게 목표입니다. 2021.11.30 - [Data Base/SQL] - [SQL] : BETWEEN AND 연산자 2021.11.30 - [Data Base/SQL] - [SQL] : IN 연산자 2021.11.30 - [Data Base/SQL] - [SQL] : LIKE 연산자와 와일드카드 2021.11.30 - [Data Ba.. 2021. 11. 30. [SQL] : 정렬을 위한 ORDER BY 절 정렬을 위한 ORDER BY 절 정렬은 크기 순서대로 나열하는 것으로 오름차순(ASC)과 내림차순(DESC)로 나눌 수 있습니다. ASC 오름차순 DESC 내림차순 숫자 작은 값부터 정렬 큰 값부터 정렬 문자 사전 순서로 정렬 사전 역순으로 정렬 날짜 빠른 날짜 순서로 정렬 늦은 날짜 순서로 정렬 NULL 가장 마지막에 나온다. 가장 먼저 나온다. 표로 쉽게 보면 오름차순과 내림차순을 쉽게 구분할 수 있습니다. 로우를 정렬하기 위해 select 문에 order by 절을 추가하고 어떤 컬럼을 기준으로 어떤 정렬을 할 것인지 결정해야 합니다. ASC 오름차순 select * from emp order by sal asc; 급여 컬럼을 오름차순 정렬한 것을 볼 수 있습니다. 숫자는 작은 값부터 큰 값으로 정.. 2021. 11. 30. [SQL] : NULL을 위한 연산자 NULL을 위한 연산자 select * from emp where comm=null; #예시를 위한 오류코드입니다. NULL 값은 = 연산자로 판단할 수 없습니다. select * from emp where comm is null; IS NULL 연산자로 커미션을 받지 않는 사원을 검색할 수 있습니다. 아래에서 조금 더 자세히 보겠습니다. COMM이 NULL값인 데이터만 가져왔습니다. 2021. 11. 30. [SQL] : LIKE 연산자와 와일드카드 LIKE 연산자와 와일드 카드 LIKE 연산자는 검색하고자 하는 값을 정확히 모를 때 사용합니다. 와일드카드 % 사용하기 select * from emp where ename like 'F%'; 검색하고자 하는 이름을 정확히 모를 때 F를 맨 앞에 포함하고 그 뒤를 모른다는 뜻으로 F% 처럼 사용합니다. %는 어떤 문자가 몇 개가 오든지 상관이 없다는 의미를 가지고 있습니다. select * from emp where ename like '%A%'; 이름 중 A를 포함하는 사원을 검색합니다. 문자 앞,뒤에 %를 써주면 중간에 A라는 문자만 있으면 앞,뒤에 문자열이 몇 개가 오든 없이 찾습니다. 와일드카드 _ 사용하기 select * from emp where ename like '_A%'; _ 는 어떤 .. 2021. 11. 30. [SQL] : IN 연산자 IN 연산자 select * from emp where comm=300 or comm=500 or comm=1400; 커미션이 300이거나 500이거나 1400인 사원을 검색하기 위한 쿼리입니다. OR을 사용해야 합니다. OR 연산자 대신 간단하게 IN 연산자를 사용할 수도 있습니다. select * from emp where comm in(300, 500, 1400); 이렇게 쓰면 or 연산자보다 간단한데 결과 값은 똑같습니다. select * from emp where comm not in(300, 500, 1400); COMM이 300, 500, 1400이 아닌 사원을 모두 가져왔습니다. not in 연산자를 사용했습니다. select * 2 from emp 3 where comm300 and co.. 2021. 11. 30. [SQL] : BETWEEN AND 연산자 Between and 연산자 select 2 * 3 from 4 emp 5 where 6 sal >= 2000 and sal 3000; sal(급여)이 2000 미만이거나 3000 초과인 사원을 검색하기 위해 or 연산자를 활용할 수도 있습니다. select 2 * 3 from 4 emp 5 where 6 hiredate between '1981/01/01' and '1981/12/31'; between and 연산자는 숫자 뿐만 아니라 문자형과 날짜형에도 사용할 수 있습니다. 주의할 점은 비교 대상이 되는 값을 작은 따옴표로 감싸줘야 합니다. 2021. 11. 30. [T.I.L] : 33 일일 배움을 위한 Today I Learned ! SQL where 문을 사용했습니다. 한참 진행할 때는 몰랐는데 where문을 잘 사용할 줄 아는 게 쿼리를 짜는데 도움이 매우 되는 것 같습니다. 처음 배웠을 때 느낌을 살려 연산자부터 천천히 다시 복습하면서 정리해 나갑니다. 2021.11.28 - [Data Base/SQL] - [SQL] : WHERE 문으로 조건에 맞는 데이터 검색하기 기타 PaasTa 공모전 본선에 붙어서 서류 작업과 동영상 편집을 하느라 주말인데 시간이 빠르게 지나갑니다. 마감까지 잘 마무리해서 좋은 결과가 있도록 화이팅하겠습니다. 2021. 11. 28. [SQL] : WHERE 문으로 조건에 맞는 데이터 검색하기 조건에 맞는 데이터 검색 select 2 * 3 from 4 emp 5 where 6 deptno = 10; deptno(부서번호)가 10번인 데이터만 조회합니다. where 문법을 통해 조건을 걸 수 있습니다. 문자 데이터 조회 select 2 empno, ename, sal 3 from 4 emp 5 where 6 ename = 'FORD'; 이름이 FORD인 사원의 empno(사원번호), ename(사원이름), sal(급여)를 출력하는 예제입니다. SQL 쿼리는 대소문자를 딱히 구분하지 않지만 ename에 들어가는 테이블 내에 저장된 데이터 값은 대소문자를 구분하기 때문에 ename = 'ford';로 사용하면 조회가 되지 않습니다. 날짜 데이터 조회 select 2 * 3 from 4 emp 5 .. 2021. 11. 28. [T.I.L] : 32 일일 배움을 위한 Today I Learned ! Oracle 명령어 SQL 파일 명령어와 편집 명령어를 활용했습니다. 편집 명령과 파일 명령은 알고 있으면 조금 더 SQL을 활용하기 편하게 보고 활용할 수 있습니다. 2021.11.27 - [Data Base/SQL] - [SQL] : SQL 편집 명령어 2021.11.27 - [Data Base/SQL] - [SQL] : 파일 명령어 2021. 11. 27. [SQL] : 파일 명령어 SQL 파일 명령어 파일 명령어는 보관중인 버퍼의 내용을 영구적으로 기록하기 위해서 파일에 저장하는 명령어입니다. 명령어 설명 EDIT (ED) 파일의 내용을 vi(유닉스)나 notepad(윈도우즈)와 같은 에디터로 읽어 편집을 할 수 있도록 합니다. HOST 오라클을 종료하지 않고 OS 명령어를 수행할 수 있게 OS 환경으로 잠시 빠져나갈 수 있도록 합니다. HOST로 OS를 잠시 빠져나간 상태에서는 EXIT를 통해 다시 Oracle로 돌아올 수 있습니다. SAVE SQL 버퍼 내의 현재 내용을 실제 파일로 저장합니다. @ SQL 파일에 저장된 내용을 실행합니다. SPOOL 오라클 화면을 갈무리하여 파일로 저장합니다. GET 파일의 내용을 SQL 버퍼로 읽어 들입니다. EXIT 오라클을 종료합니다. 파.. 2021. 11. 27. [T.I.L] : 21 일일 배움을 위한 Today I Learned ! SQL SQL을 공부하면서 Null과 컬럼에 별칭을 부여하는 방법, 쿼리를 연결해주는 연산자와 중복을 제거하는 키워드를 공부했습니다. 공부하는 SQL은 Oracle DB를 사용하고 오라클에서 제공하는 SCOTT 사용자를 활성화 시켜 사용하고 있습니다. 자세한 내용은 아래 첨부 글을 확인하면 됩니다. 2021.11.15 - [Data Base/SQL] - [SQL] : NULL (널) [SQL] : NULL (널) NULL null(널)은 매우 중요한 데이터 입니다. 오라클에서는 컬럼에 널 값이 저장되는 것을 허용하는데 널 값을 제대로 이해하지 못 하면 쿼리문을 사용하는데 있어 원하는 결과를 얻기 어려울 수 ohju.tistory.com 2021.11.15.. 2021. 11. 15. [SQL] : 컬럼 이름에 별칭 부여하기 SQL 별칭 부여 select 2 ename, sal*12+nvl(comm,0) 3 from 4 emp; SQL에서 쿼리문의 결과가 출력될 때 컬럼 이름이 컬럼에 대한 헤딩(heading)으로 출력이 됩니다. select 2 ename, sal*12+nvl(comm,0) as Annsal 3 from 4 emp; 컬럼 이름 대신 별칭을 사용하려면 AS라는 키워드를 쓰고 별칭을 사용해 주면 됩니다. 위에 Annsal을 A만 대문자 나머지는 소문자로 적었는데 출력은 모두 다 대문자로 된 것을 확인할 수 있습니다. select 2 ename, sal*12+nvl(comm,0)"A n n s a l" 3 from 4 emp; 대문자와 소문자를 구분하고 싶으면 " " 안에 적어주면 됩니다. " "를 통해 별칭을 .. 2021. 11. 15. [SQL] : NULL (널) NULL null(널)은 매우 중요한 데이터 입니다. 오라클에서는 컬럼에 널 값이 저장되는 것을 허용하는데 널 값을 제대로 이해하지 못 하면 쿼리문을 사용하는데 있어 원하는 결과를 얻기 어려울 수 있습니다. 정의 - 0(zero)가 아닙니다. - 빈 공간이 아닙니다. - 미확정, 알 수 없는 값을 의미합니다. - 어떤 값인지 알 수 없지만 분명 존재하고 있습니다. - ? 혹은 ∞ 의 의미로 사용되므로 연산, 할당, 비교가 불가능합니다. 예시 select 2 ename, sal, job, comm, sal*12, sal*12+comm 3 from 4 emp; 연봉을 계산하는 쿼리를 보면 SALESMAN은 COMM이 있으므로 연봉이 정상적으로 계산이 되었습니다. 심지어 COMM을 0을 받은 사람도 정상적으로.. 2021. 11. 15. [T.I.L] : 06 일일 배움을 위한 Today I Learned ! 스프링을 하면서 Mapper 단에 쿼리를 잘 써야겠다는 생각에 데이터 베이스를 다시 공부했습니다. 오라클 데이터 베이스를 사용해서 Scott 사용자를 활성화 시키고 타이핑을 치다 정리 좀 해 둬야겠다 싶어서 처음부터 체크하면서 정리합니다. - 2021.10.31 - [Data Base/SQL] - [SQL] : 데이터 딕셔너리 및 테이블 구조 확인 [SQL] : 데이터 딕셔너리 및 테이블 구조 확인 OracleDB를 사용하고 Scott 사용자를 활성화 시켜서 실습합니다. SQL은 대문자와 소문자를 가리지 않기 때문에 본인 알아서 대,소문자 구분해서 사용하시면 됩니다. 데이터 딕셔너리 TAB SELECT * FROM TAB ohju.tistory.com 2.. 2021. 10. 31. [SQL] : 데이터를 조회하는 SELECT 문 SELECT - SQL 명령어는 하나의 문장으로 구성되어야 하는데 여러 개의 절이 모여서 문장이 되는 것이고 문장들은 반드시 세미콜론[ ; ]으로 마쳐야 합니다. - [ * ](all, 올)은 테이블 내 모든 컬럼을 출력하고자 할 때 사용합니다. SELECT 컬럼 FROM 테이블 - SELECT문 기초 구성입니다. SELECT * FROM DEPT; - DEPT 테이블의 모든 컬럼을 조회하는 명령어입니다. - 부서 테이블 내 어떤 컬럼이 저장되어 있는지 확인할 수 있습니다. - 모든 칼럼을 조회하길 원하지 않고 몇 개만 따로 조회하길 원한다면 [ * ] 대신에 컬럼명을 적어주면 됩니다. - 조회하고자 하는 컬럼이 여러개면 [ , ] 콤마를 넣어 원하는 컬럼들을 추가하면 됩니다. 2021. 10. 31. [SQL] : 데이터 딕셔너리 및 테이블 구조 확인 OracleDB를 사용하고 Scott 사용자를 활성화 시켜서 실습합니다. SQL은 대문자와 소문자를 가리지 않기 때문에 본인 알아서 대,소문자 구분해서 사용하시면 됩니다. 데이터 딕셔너리 TAB SELECT * FROM TAB; - TAB는 TABLE의 약자로 테이블의 정보를 알려주는 데이터 딕셔너리입니다. 테이블 구조를 확인하는 DESC DESC DEPT - DEPT는 부서의 정보를 저장하고 있습니다. - DEPT의 구조를 살펴보기 위해 DESC 명령어를 사용했습니다. - DESC 명령어는 테이블의 컬럼 이름, 데이터 형, 길이, NULL 허용 유무 등 특정 테이블의 정보를 알려줍니다. - DEPT 테이블에 DEPTNO(부서번호), DNAME(부서명), LOC(지역명)이렇게 3개의 컬럼이 있습니다. D.. 2021. 10. 31. 05 . 공모전 개발 시각화에 들어가다. 아직 아는 게 많이 없기 때문에 실질적인 개발에 도움된 부분은 없지만 개발한 것을 시각화 하는 것에는 도움을 줄 수 있습니다. 그래서 다른 팀원 한 명이랑 같이 오늘 개발한 프로젝트를 실행 시킬 수 있는 박스를 만들었습니다. 원래는 이 프로젝트 실행 박스를 후딱 만들고 프론트 부분을 개발하고 스프링에 연동시킬 계획이였는데 이게 만드는데 시간이 너무 오래 걸려서 80%정도 완성시키고 왔습니다. 다른 팀원에게 박스가 너무 크고 견고해 보이지 않는다는 지적을 받아서 내일은 크기를 줄여 면적을 좁히고 좀 튼튼해 보이게 수정하고 학교에 가져다 두는 일을 한 뒤 프론트와 스프링 연동을 시작할 것 같습니다. 그리고 스파르타 코딩클럽에 SQL 강의와 스프링 강의를 공모전에서 지원 받아서 듣고 있는데 SQL 강의를 듣고.. 2021. 7. 29. 이전 1 다음 반응형