DISTINCT 중복 값들을 제거하고 특정 컬럼에 있는 고유한 값들만 볼 수 있음 SUBSTRING() 문자열의 일부를 추출하는 함수 DISTINCT와 함께 쓰면 문자열의 고유값 출력할 수 있음 address 컬럼의 더 넓은 지역 기준의로 고유값을 추출하고자 할 때, 어떻게 할 수 있을까? DISTINCT(SUBSTRING(address, 1, 2)) FROM copang_main.member; 위 식은 address 컬럼의 가장 첫 번째 문자부터 시작해서 총 두 개의 문자를 추출하라는 의미 실행하면 서울, 경기, 인천과 같은 가장 앞 두글자만 추출하게 됨
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이 출력된 값이 있었을 것.(현재는 없음) 데이터 분석을 할 때 단 하나..
특정 값을 원하는 방식으로 변환해서 표현하게 해주는 함수 예제는 이 글↓ 참고하기 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면 스..
alias? 컬럼에 별칭을 주는 것 예제 BMI를 구하는 식이며 문장 뒤 AS를 써준 후 내가 붙이고자 하는 이름을 써준다 -> 컬럼에 그 이름이 들어가게 됨 AS는 생략이 가능하나, 웬만하면 붙여줄 것 CONCAT() Concatenate, 연결하다 라는 의미 괄호 안에 있는 것들을 엮어서 하나의 컬럼으로 만들어 줌 여러 컬럼의 값을 하나의 컬럼으로 볼 수 있는 것이 장점이고, 그렇게 만들어진 컬럼에는 AS로 별칭을 붙여주기 AS 뒤에 공백이 들어가는 문자열(ex-키와 몸무게)이라면 ''(작은따옴표)로 묶어주고, 공백이 없는 문자열(ex-키)라면 따로 묶어주지 않아도 됨 알아두기 1. 띄어쓰기(스페이스)가 포함된 alias에는 따옴표를 붙여주어야 함 - 만약 컬럼에 스페이스가 포함된 alias를 붙이고..
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..
집계 함수(Aggregate Function) 특정 컬럼의 여러 row의 값들을 동시에 고려해서 실행되는 함수 COUNT() 갯수 SELECT COUNT(email) FROM copang_main.member; => copang_main.member 테이블의 email 컬럼의 갯수를 출력하라 MAX() 최댓값 SELECT MAX(weight) FROM copang_main.member; => copang_main.member 테이블의 weight 컬럼의 최댓값을 출력하라 MIN() 최솟값 SELECT MAX(weight) FROM copang_main.member; => copang_main.member 테이블의 weight 컬럼의 최솟값을 출력하라 AVG() 평균값 SELECT AVG(weight) F..
ORDER BY ORDER BY height : height(컬럼)를 기준으로 정렬 오름차순 : ASC // 기본값 내림차순 : DESC SQL 문법상 WHERE는 ORDER BY 앞에 나와야 함 예제 1. member 테이블에서 gender가 'm'이고, weight가 70 이상인 회원들을 height를 기준으로 오름차순 정렬 예제 2. 전체 회원들에 대해서 가입한 연도를 기준으로 가장 최근에 가입한 사람부터 내림차순으로 정렬하고, 같은 연도에 가입한 사람들은 다시 이메일 주소를 기준으로 오름차순으로 정렬 YEAR()는 연도만 추출해주는 것 우선순위로 따지면 가입한 날짜(sign_up_day)를 내림차순으로 정렬, 그 안에서 같다면 email을 오름차순으로 정렬 이름을 먼저 쓴 컬럼을 우선으로 해서 정..
AND 조건에 모두 만족하는 결과 조회 1. 성별이 남자이고, 주소가 서울로 시작하는 회원만 조회 SELECT * FROM copang_main.member WHERE gender = 'm' AND address LIKE '서울%'; AND는 동시에 만족하는 로우들만 조회 2. 성별이 남자이고, 주소가 서울로 시작하고, 나이가 25~29세인 회원 조회 SELECT * FROM copang_main.member WHERE gender = 'm' AND address LIKE '서울%' AND age BETWEEN 25 and 29; OR 조건을 하나라도 만족하는 결과 조회 1. 봄 또는 가을에 가입한 회원 조회 SELECT * FROM copang_main.member WHERE MONTH(sign_up_..