SQL

·MORE/ERROR
오라클(토드) 에러 / 해결완료 - 프로시저 작성하고, INSERT를 하는 과정에서 발생한 오류 - 프로시저 내에 IS 부분에 JSON VALUE로 넣어주었는데, IS P_NO TB_TEST.NO%TYPE := JSON_VALUE(P_DATAS,'$.P_NO'); // JSON_VALUE(P_DATAS,'$.P_NO')에서 P_NO 이 부분을 // 자바에서 불러오는 명칭과 일치시켜주지 않아서 발생한 오류 - 즉, PK인 NO(P_NO) 컬럼을 키값과 일치시켜주지 않아서 결과적으로 NULL이 값에 들어가게 됐고, PK에 NULL이 들어가지 않게 설정하면 됨(값을 주어야한다는 것) - 기본키(PK)에는 NULL이 들어갈 수 없음
·DEV/SQL
DISTINCT 중복 값들을 제거하고 특정 컬럼에 있는 고유한 값들만 볼 수 있음 SUBSTRING() 문자열의 일부를 추출하는 함수 DISTINCT와 함께 쓰면 문자열의 고유값 출력할 수 있음 address 컬럼의 더 넓은 지역 기준의로 고유값을 추출하고자 할 때, 어떻게 할 수 있을까? DISTINCT(SUBSTRING(address, 1, 2)) FROM copang_main.member; 위 식은 address 컬럼의 가장 첫 번째 문자부터 시작해서 총 두 개의 문자를 추출하라는 의미 실행하면 서울, 경기, 인천과 같은 가장 앞 두글자만 추출하게 됨
·DEV/SQL
1. COALESCE 함수 여러개의 파라미터를 넣을 수 있음(IFNULL은 두개만 가능) 표준 SQL함수(IFNULL은 MySQL에만 있음) 첫 번째 케이스 COALESCE 함수는 괄호 속 인자 중에서 가장 첫 번째로 NULL이 아닌 값을 반환 N/A는 Not Available, Not Applicable의 줄임말로 테이블에서 어떤 값이 없거나 표현할 수 없는 값일 때 사용되는 단어 두 번째 케이스 COALESCE 함수 안에 weight * 2.3이라는 식을 추가했음 만약 height 컬럼이 NULL이면, 해당 ROW의 weight 컬럼의 값을 갖고 키를 추론한 것 만약 height 컬럼과 weight 컬럼 모두 NULL이라면 N/A이 출력된 값이 있었을 것.(현재는 없음) 데이터 분석을 할 때 단 하나..
·DEV/SQL
특정 값을 원하는 방식으로 변환해서 표현하게 해주는 함수 예제는 이 글↓ 참고하기 https://summer-record.tistory.com/53?category=907545 컬럼의 값 변환해서 보기 | CASE ~ END 표와 SQL문을 활용하여, 각 회원의 BMI를 알 수 있는 쿼리문을 작성해보기 BMI(Body Mass Index) 상태 25~ 과체중 또는 비만 18.5 ~ 25 정상 ~ 18.5 저체중 답 CASE ~ END 활용하였음 WHEN 옆에는 조건을 써주고,.. summer-record.tistory.com 단순 CASE 함수 작성법 CASE 컬럼 이름 WHEN 값 THEN 값 WHEN 값 THEN 값 WHEN 값 THEN 값 ELSE 값 END cs 예시 age 컬럼의 값이 29면 스..
·DEV/└ SQL EX
표와 SQL문을 활용하여, 각 회원의 BMI를 알 수 있는 쿼리문을 작성해보기 BMI(Body Mass Index) 상태 25~ 과체중 또는 비만 18.5 ~ 25 정상 ~ 18.5 저체중 답 CASE ~ END 활용하였음 WHEN 옆에는 조건을 써주고, THEN 뒤에는 보여줄 값을 나타냄 ELSE는 나머지 모든 경우(IF문의 ELSE와 동일한 역할) END는 CASE문을 종료한다는 의미
·DEV/SQL
alias? 컬럼에 별칭을 주는 것 예제 BMI를 구하는 식이며 문장 뒤 AS를 써준 후 내가 붙이고자 하는 이름을 써준다 -> 컬럼에 그 이름이 들어가게 됨 AS는 생략이 가능하나, 웬만하면 붙여줄 것 CONCAT() Concatenate, 연결하다 라는 의미 괄호 안에 있는 것들을 엮어서 하나의 컬럼으로 만들어 줌 여러 컬럼의 값을 하나의 컬럼으로 볼 수 있는 것이 장점이고, 그렇게 만들어진 컬럼에는 AS로 별칭을 붙여주기 AS 뒤에 공백이 들어가는 문자열(ex-키와 몸무게)이라면 ''(작은따옴표)로 묶어주고, 공백이 없는 문자열(ex-키)라면 따로 묶어주지 않아도 됨 알아두기 1. 띄어쓰기(스페이스)가 포함된 alias에는 따옴표를 붙여주어야 함 - 만약 컬럼에 스페이스가 포함된 alias를 붙이고..
·DEV/└ SQL EX
문제 피자 가게에서는 고객들이 남긴 리뷰(별점과 댓글)를 관리하기 위해 다음과 같은, review라는 테이블을 갖고 있습니다. id star comment registration_date 1 2 NULL 2020-01-02 2 5 '페페로니의 향을 빠르게 맛볼 수 있었어요’ 2020-03-24 3 3 ‘맛은 있는데, 배달이 너무 느렸어요’ 2020-04-21 4 NULL NULL 2019-11-23 5 3 '사진이랑 조금 다르지만 먹을만 하네요’ 2019-09-14 6 5 NULL 2020-05-02 7 2 ‘왜 피클을 안 넣어주셨죠?’ 2019-10-05 이 테이블에서 (1) 고객들이 남긴 리뷰 수와, (2) 별점 평균값을 구하려고 합니다. 대신, (3) 댓글이 존재하는(comment 컬럼이 NULL이..
·DEV/SQL
NULL = 값이 없음 NULL 값을 가진 특정 컬럼의 row를 찾기 SELECT * FROM copang_main.member WHERE address IS NULL; NULL 값이 아닌 특정 컬럼의 row를 찾기 SELECT * FROM copang_main.member WHERE address IS NOT NULL; NULL을 다른 단어로 바꿀 수 있는 방법 중 하나, COALESCE height 컬럼의 값이 있으면 그 값을 반환하고, NULL이라면 '####'을 반환 weight 및 address도 마찬가지 NULL 주의사항 1. IS NULL과 =NULL은 다른 것 NULL은 어떤 값이 아니기 때문에 애초에 등호(=)를 사용해서 어떤 값과 비교할 수 있는 대상이 아님 그래서 =NULL은 TRUE..
devvnn
'SQL' 태그의 글 목록