전체 글

愚公🏃移山⛰️
DI(Digital Innovation)/DataBase & SQL 뽀개기

컬럼에 안전하게 제약 (Constraints) 주기

컬럼에 Constraints (제약조건) 주기 컬럼 만들 때 제약조건을 걸어둘 수 있습무니다. 이 컬럼은 NOT NULL 해야한다.(텅빈 데이터 넣지마삼) 이 컬럼에 있는 데이터들은 항상 UNIQUE 해야한다. 여기에 음수 말고 양수만 들어오는지 check 해라 이 컬럼을 PK로 설정해라 등 여러가지 설정이 가능합니다. 1. NOT NULL 제약 조건 CREATE TABLE 적자생존 ( id INT NOT NULL, 이름 VARCHAR(100) NOT NULL, 나이 INT ) 컬럼 만들때 우측에 NOT NULL 을 체크해주면 NULL 금지령을 때릴 수 있습니다. 원래 데이터를 넣을 때 까먹고 안넣으면 자동으로 NULL 이 됩니다. 그래서 NOT NULL 을 입력해두면 나중에 이름 컬럼이나 id 컬럼에 ..

DI(Digital Innovation)/DataBase & SQL 뽀개기

진정한 알파메일은 테이블과 컬럼 생성할 때 쿼리를 쓴다

다덜 DBeaver나 다른 RDBMS에서 클릭하면서 테이블만들고 컬럼 생성하시나요? 실은 쿼리로 테이블과 컬럼을 만들 수 있습니다. 제가 그냥 말단 청소하는 직원이라면 테이블 생성보다는 테이블을 가져다쓰는 일만 많겠지만 인생한방이라고 어떻게 될지 모르는 거 아니겠습니까. 그래서 오늘은 SQL 문법으로 새로운 테이블과 컬럼 만드는 법을 알아보도록 하겠습니다. 렛츠 콩 데이터베이스 생성, 삭제하는 법 CREATE DATABASE 데이터베이스이름 DROP DATABASE 데이터베이스이름 위는 생성 아래는 삭제. 삭제하면 돌이킬 수 없는 강을 건넙니다. 테이블생성 CREATE TABLE 테이블명 ( 컬럼1이름 datatype, 컬럼2이름 datatype, 컬럼3이름 datatype, ... ); 원하는 데이터베..

DI(Digital Innovation)/DataBase & SQL 뽀개기

SQL (IF/CASE) 장인을 꿈꾼다

중요한 IF / CASE 문법 자주쓰는 IF 함수 쿼리를 다루다뷰면 문자나 숫자 같은 데이터 넣는 곳이 많습니다. 근데 그 곳에 한가지 고정이 아니라 조건에 따라 각각 값을 넣고 싶을때 if/case문을 사용합면 됩니다. IF(조건식, 조건식맞으면이거, 조건식틀리면이거); IF() 안에 차례로 이것들을 넣으면 됩니다. 조건식은 WHERE 뒤에 쓰던거 그대로 사용하시면 됩니다. SELECT IF(1+2=3, '정답', '오답'); 이렇게 쿼리를 날리면 어떻게 될까요? 조건식이 참이니 ‘정답’이라는 문자가 그 자리에 남습니다. IF()는 문자, 숫자 등의 데이터가 들어가는 곳에 전부 넣을 수 있기 때문에 이렇게 사용할 수 있습니다. 예를들어 card 테이블에서 사용금액이 20만원이 넘는 경우 ‘부자’ 그게 ..

DI(Digital Innovation)/DataBase & SQL 뽀개기

GROUP BY 뽀개기

이런 🐴 이 있습니다. “데이터는 거짓말을 하지 않는다.” 이 데이터 속에 숨겨진 의미를 찾고 싶다면 전체를 통계내는 것보다는 그룹으로 묶고 그 특정 그룹에 안에서 통계를 내는 것이 훨 ~ 씬 더 쉽습니다. 특정 그룹을 뽑고 싶다면 WHERE을 쓰면 되지만, 그룹이 뽑을게 많다? 그렇다면 GROUP BY를 쓰면 됩니다. GROUP BY SELECT 시군구명 FROM 강원도_관광숙박업_현황 GROUP BY 시군구명; select from 뒤에 group by 컬럼명을 붙일 수 있는데, 일케하면 그 컬럼에 있는 카테고리끼리 그룹지어 보여줍니다. ㄹㅇ이네;;; 근데 그룹만 지으면 아무 쓰잘데기 없습니다. GROUP BY 는 전에 했던 MIN, MAX, COUNT, SUM, AVG 함수와 같이 사용하는 경우가 ..

DI(Digital Innovation)/DataBase & SQL 뽀개기

서브쿼리 뽀개기

서브쿼리 select 안에 또 select 를 쓸 수 있는거 아시나요? 네? 이미 다 아신다구요? 다시한번 묻겠습니다. select 안에 또 select 를 쓸 수 있는거 아시나요? 네ㅎㅎ 처음 듣는다구요?? 실은 select 문법 안에 select를 또 사용할 수 있는데요. 이런걸 서브쿼리라고 하는데 어떻게 사용하는지 알아봅시다. Q. 위의 테이블에서 사용금액의 평균보다 더 큰 사용금액을 가진 사람만 출력하고 싶을땐 어떻게 해야할까요? 간단합니다. 사용금액 평균을 구한다. 사용금액 > 사용금액 평균을 필터링해주소 이겁니다. 간단하쥬?(백종원 톤으로) SELECT AVG(사용금액) FROM card 사용금액의 평균을 내보면 대충 245000원이 나옵니다. 그담엔 SELECT * FROM card WHER..

DI(Digital Innovation)/DataBase & SQL 뽀개기

푸바오가 알려주는 컬럼 출력시 사칙연산 & 문자를 다루는 함수

컬럼에 있던 데이터만 갖고 정직하게 입출력하는 것은 이제 슬슬 ‘시시’해서 죽고 싶어졌다… 컬럼에 있던 데이터들을 사칙연산으로 조작해서 출력하는 것도 ㅆㄱㄴ 그래서 오늘은 컬럼에 있던 데이터들을 회사에서도 내 입맛으로 조작해서 출력하여 조작으로 쇠고랑 차는 법을 알아봅시다. 컬럼에 사칙연산 가능 저번 포스팅에서 ‘사용금액’이란 컬럼이 있었습니다. 근데 그 금액에는 10% 부가세가 포함되어 있기 때문에 부가세를 제외한 사용 금액만 출력하고 싶으면 어떡할까여 엑셀이면 = 옆의 컬럼 *0.9라고 쳤을텐데… SQL도 비슷합니다. SELECT 사용금액 * 0.9 FROM card 그냥 컬럼명에 냅다 0.9 곱해버리면 됩니다. 그럼 사용금액에 0.9를 곱한 것이 출력됩니다. 당연히 동시에 여러컬럼도 ㄱㄴ하고 as도..

DI(Digital Innovation)/DataBase & SQL 뽀개기

국가 권력급 집계함수로 통계내기

MIIN, MAX, AVG, SUM 집계함수로 통계내기 데이터 분야에는 총 세가지 분야가 있는데, Data Science / Data Analysis / Data Engineer 가 있습니다. 요즘은 데이터가 안들어가는 곳이 없기 때문에 꼬꼬꼬꼬꼬꼬꼮 SQL 역량은 필수 입니다. 소위말해 국가 권력급 SQL이라고 할 수 있죠. 이 중에서 Data Analysis를 잘하려면 어떻게 해야할까요? 데이터의 숨은 의미를 잘 찾아야합니다. 숨어있는 의미와 이것저것 의미를 이끌어낸다면 잘하는 것입니다. 가장 쉽게 의미를 찾는 방법은 통계를 내는 것입니다. SQL로 집계함수를 내는 방법은 거의 엑셀과 유사한데요. 최댓값(MAX) SELECT MAX(컬럼) FROM 테이블명 최솟값(MIN) SELECT MIN(컬럼) ..

DI(Digital Innovation)/DataBase & SQL 뽀개기

WHERE 완벽정리

AND / OR / NOT으로 조건식 나혼자만 레벨업 저희가 하나만 조건 걸어서 데이터 출력하는 것으로 머무르지 않을거잖아요? 가끔은 여러 조건, 요구에 맞춰서 데이터를 출력해야하는 상황이 옵니다. 예를들어서 시군구명은 ‘강릉시’이고 총층수는 ‘6’층이며 건물용도명은 ‘호텔’ 인 데이터를 뽑고싶습니다. 그렇다면 조건식이 2개 이상 필요한 경우 조건식 2개를 AND, OR, NOT을 붙여서 연결해줄 수 있는데요. SELECT * FROM 강원도_관광숙박업_현황 WHERE 시군구명 = '강릉시' AND 총층수 = 6 AND 건물용도 = '호텔'; AND는 모든 조건이 전부 맞으면 ~ 이라는 뜻입니다. 그래서 위코드를 실행하면 강릉시이고 호텔 용도로 6층인 것을 출력해줍니다. SELECT * FROM 강원도_..

DI(Digital Innovation)/공정설계

팁 교환

자 오늘은 디스크를 생산하는 공정에는 어떤 것들이 있는지 알아보겠습니다. 먼저 디스크란 무엇이냐?📀 브레이크 디스크라고도 부르는데요. 브레이크 패드와 디스크의 마찰로 차량을 세우는 역할을 합니다. 이제 여넘이 디스크 인데요. 제가 회사에서 담당하는 디스크는 현대의 아반떼, 제네시스, 소렌토에 들어가는 디스크 입니다. 디스크를 하루에 1200개 많으면 1300개 이상 까지 보기때문에 이제 디스크만 봐도 당신의 전여친의 현남친의 아반떼가 중고인지 신차인지 알 수 있는 능력이 생겼습니다. 그래서 이 디스크를 만드는 라인이 있는데요. 그 라인을 공정이라규 합니다. 공정에서는 무엇을 할까?🤔 이제 수준급 기술자들은 혼자서 촤라락 다하시는데(여기 기술자님들중에는 막내가 20년차 이상이랍니다 ㅋㅋㅋ) 저 같은 귀염뽀..

DI(Digital Innovation)/DataBase & SQL 뽀개기

데이터 출력하고 정렬 & 필터륑

안녕하세요 오늘은 SQL에 대해 배워보겠습니다. SQL? 흔히 쿼리라고 하죠. 이 언어는 데이터베이스에 데이터 입출력, 수정삭제, 데이터 가공과 조작 이런 것에 특화된 언어입니다. 정처기 공부할때 봤던 DCL, DML, DDL 이런 것들입니다. 그래서 SQL을 잘 작성하면 데이터를 내 맘에 맞게 출력하고 넣고 지우고 수정하고 씹고뜯고맛보고 즐기고 할 수 있습니다. 그래서 이거 4개만 배우면 SQL 끝인데, 이거 뿐만 아니라 실은 깊게 들어가면 프로그래밍 언어처럼 조건문, 반복문, 변수 만들기 등 많은 것을 할 수 있지만 오늘은 가장 중요한 출력과 정렬을 배워보겠습니다. SELECT 문법 SELECT 컬럼명 FROM 스키마.테이블명 아직은 기초적인 내용이기 때문에 나중에 좀 헷갈리는 것, 어려운 것 위주로..

달려라 국나뇽
swk99