sql을 제대로 배우고 싶어서 신청한 강의이다기본적인건 알고있다고 생각하고 신청했는데 mysql인데다가 안배운부분이 있어서 기초는 따로 더 공부해 가면서 해야할것같다.이 경우 순서대로 모든 컬럼의 값을 입력하게 된다,이런형식으로 입력한다set뒤에 변경할 값을 넣는다
case를 이용하여 조건에 맞는 컬럼의 변경이 가능하다혹은 같은방식으로로 2가지 조건뿐일때는 더 간한하게 쓸수있다.본 내용은 데이터리안 'SQL 데이터 분석 캠프 실전반' 을 수강하며 작성한 내용입니다.
sql 실전반을 신청했는데 수준이 높고 너무 본격적인 내용이라 차라리 입문부터 다시 듣는게 나을것 같아서 입문반으로 바꾸었다아는것도 있지만 SQL은 spring에서 데이터베이스를 연결할수있는 정도로만 배웠기 때문에 모르는 부분이나 알지만 복습하면서 잊었던거나 기초를 탄
A테이블과 B테이블을 중복된 컬럼을 통해 join으로 연결하고 원하는 값이 입력되어있는 컬럼만 출력하는 문제이다.이 경우 join을 쓰는것은 어렵지 않지만 원하는 값만을 가져오는것은 생각보다 헷갈렸다.동일한 이름의 컬럼이 있어 그 컬럼같을 이용해 묶었다.하지만 이건 컬
where 조건에서는 특별한 공식의 값을 구할때는 함수를 써야한다mod는 java에서의 %와 같다이런형식으로 사용할수 있으며 만약 짝수를 찾는다면mod(c,2)=0이라고 입력한다면 java에서의 if(c%2 == 0) 과 같은 결과를 볼수있다.중복을 제거해주는 함수이
해당 컬럼을 order by로 정렬해준다.오래된 순으로 정리하고싶으면 order by day_column asc (오름차순)최신 순으로 정리하고 싶으면 order by day_column dess (내림차순)로 정렬해준다.order by day_column asc, v
where절에 or연산자를 사용한다where절을 이렇게 써주면 조건1 이라고 써져있는 컬럼과 조건2라고 써져있는 컬럼 모든 컬럼을 선택할수있다.or를 사용하면 where 절에 조건을 2개를 늘여써야 한다.하지만 in을 사용하면 조건을 한줄로 만들수있다.in 뒤에 ()안
like를 사용하여 일부 조건을 만족하는 쿼리를 입력한다column_1 컬럼에서 a로 시작하는 모든 열을 찾아준다.%는 어느것이 들어가도 상관없는것이다%a라면 a가 마지막에 들어가는 열을 찾아줄것이고 %a%로 표기하면 a가 들어가있는 모든 열을 찾는다.Between을
insert into 뒤에 테이블이름 values()괄호안에 컬럼의 순서대로 입력할 내용을 적어준다update를 이용하여 데이터를 수정해준다.delete를 where조건에 맞는 줄을 전부 삭제한다where절이 없으면 내용 전체가 삭제된다.데이터 베이스는 여러명이 사용하
오라클, mysql, sqlServer표 형식으로 사용한다, 가장 주류로 사용한다.RDB대량의 데이터를 고속으로 처리해야 하는 웹 서비스에서 자주사용Hbase, cassandra 등이 있다.관계형 데이터 베이스를 조작하는 언어select lnsert update del
distict를 사용하면 컬럼의 중복을 제거할수있다.라는 데이터가 있을때 이런 쿼리문을 작성했다면 c3의 중복값을 하나로 출력할것이다. 만약 이 경우에 내가 c3가 가지고 있는 value의 중복되지 않는 값이 몇개인지 알고싶다면 어렵지 않게 count를 쓸수있다.
이렇게 구한다,일때 3번째의 c2의 값은 null이 된다이때는 (100+200) / 2 의 값으로 평균을 구하게된다.만약 null인 컬럼까지 포함한 평균을 구하고 싶다면을 하여 (100+200+0)/3을 하도록 하여야 한다.CEIL(컬럼이름) : 올림(정수)FLOOR(
이란 데이터가 있을때a/b/c의 c2의 총 합을 알고싶다면 c1을 그룹으로 묶어야 한다.이경우코드를 입력해준다면으로 나타날것이다.having은 일쪽의 group by의 where절이라고 할수있따(그룹바이인경우만 쓸수있다)위의 예시에서100 초과인 결과만 나타내고싶다면이
이런데이터가 있다고 가정했을때a그룹의 ㄱㄴ의 각각의 숫자b그룹의 ㄱㄴ의 각각의 숫자를 알고싶다고 가정했을때의 쿼리문은를 입력하면라는 a그룹의 ㄱ갯수와 ㄴ의 갯수 b그룹의 ㄱ의 갯수와 ㄴ의 갯수를 알수있게된다,group by뒤에있는 컬럼의 이름의 순서는 아무 상관없다.원
SQL값에 %나 원 등 필요한 기호를 붙이고 싶을수있다그럴때는 cast()를 이용해 해당값을 문자열로 변경하고concat을 이용해 붙이고 싶은 기호를 추가한다concat(조건문,%)cast(해당컬럼 as char)이런형식으로 겹쳐서 만들어준다.
특정조건을 만족할때의 출력을 넣을수있다,이런 데이터베이스가 있을 때category가 1일때는 음료, 2일때는 과자라고 지정하고싶다면 case whenb을 사용하면된다.이렇게 작성했다면라는 내가 원하는 결과를 얻을수 있게된다.내가 case로 만든 새로운 컬럼인 종류를 그
이런 데이터가 있다고 가정한다여기서 b를 평균을 내는것은 간단하다하지만 내가 원하는 컬럼명은이런 데이터라면 어떤방식으로 출력하면 좋을까?이럴때는 case문에 원하는 조건을 더 하여 이름을 출력하면 된다.간단히 생각해 내가 출력하고싶은 조건은 1을 평균낸것, 2를 평균낸
첫번째 날짜, 아이디, 합계를 원하는 모양의 테이블로 출력할것이다.아이디 별로 출력할 예정이다.이 조건의 sql문을 만들면 이렇게된다.,본 내용은 데이터리안 'SQL 데이터 분석 캠프 입문반' 을 수강하며 작성한 내용입니다
RFM이란 각각의 항목값을 기준으로 데이터를 관리하는 법이다.Recency : 최근, 혹은 특정기간의 조건Frequency : 빈도Monetary : 규모가 얼마인지 정해진 기준은 없이 상황에 따라 맞는 기준을 새우면 된다.if문을 사용하여 원하는 조건을 계산한다.예를
자료를 특정한 그룹으로 나누어 정리하는것을 말한다.case문을 사용하여컬럼 ㄴ의 값이 b인 ㄱ을 정리한다.이런식으로 쿼리문을 작성하면이런 피봇테이블을 얻을수있다.여기서 데이터의 숫자를 얻으려고 한다면라는 데이터 값을 얻을수있게된다.본 내용은 데이터리안 'SQL 데이터
이 두 테이블을 연결했을 때 똑같은 A컬럼이 있다,이 값을 연결하여 ABCDE컬럼이 연결되어있는 하나의 테이블을 만들수있다.이때 공통된 컬럼이 A 이기때문에 테이블1의 A와 테이블2의 A같다는것을 쿼리문으로 알려줘야한다.이게 예전이 방식이다, 하지만 이제는 join을
이런식으로 date_add(기준날짜, interval 숫자 원하는시간)으로 완성한다.예를 들어 10초 후는interval 10 second1년후는 interval 1 year로 작성하면 된다.date_add(기준날짜, interval 1 second)date_add(기
집한연산을 끝한다.join과 달리 2테이블을 가로가 아니라 새로로 연결하는것을 뜻한다.이런 두가지 테이블이 있을때 union을 사용하여 이런 하나의 테이블을 구성가능하다union은 disticnt 중복값을 없애는것이 기본이며union all을 사용해여 중복값을 포함하여
만약 이런데이터가 있다면 단 하루의 데이터를 가지고 오기 어려울것이다만약 날짜별 평균이 알고싶다면 컬럼 b를 날짜 시분초 데이터에서 날짜 데이터로 변경해야 한다.그렇다면 이제 내가 원하는 데이터인 라는 데이터를 얻을수 있게된다.본 내용은 데이터리안 'SQL 데이터 분석
학원에서 프로젝트를 하면서 SQL에 대한 중요성을 많이 느꼈다.취업준비를 하면서 본격적으로 더 공부를 해보고싶은데 뭐가 좋을지 고민하다가 일단 SQL을 신청해보기로 했다.학원에서 기본적인 oracle의 사용법은 배웠기때문에 처음엔 실전반으로 등록을 했었다.하지만 실전반