본문 바로가기

SQL

(8)
[프로그래머스/MySQL] SQL - SELECT 문제 https://programmers.co.kr/learn/courses/30/parts/17042 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 모든 레코드 조회하기 SELECT * FROM ANIMAL_INS 역순 정렬하기 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID 어린 동물 찾기 SELECT ANIM..
[프로그래머스/MySQL] SQL - IS NULL 문제 https://programmers.co.kr/learn/courses/30/parts/17045 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL 이름이 있는동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL NULL 처리하기 SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name'), SEX_UPON_INTAKE FROM ANIMAL_INS
[프로그래머스/MySQL] SQL - SUM, MAX, MIN 문제 https://programmers.co.kr/learn/courses/30/parts/17043 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 최댓값 구하기 SELECT MAX(DATETIME) FROM ANIMAL_INS 최솟값 구하기 SELECT MIN(DATETIME) FROM ANIMAL_INS 동물 수 구하기 SELECT COUNT(*) FROM ANIMAL_INS 중복 제거하기 SELECT COUNT(DISTINCT(NAME)) FROM ANIMAL_INS WHERE NAME IS NOT NULL
[MariaDB] INSERT에서 서브쿼리 사용하기 insert에서 서브쿼리 사용하기 insert문에서 서브쿼리를 다음과 같이 사용하다가 문법 오류가 발생했다. insert into student(stu_no, stu_name, stu_dept, stu_grade, stu_class) values ('20103009','홍길동','기계', select stu_grade, stu_class from student where stu_no = '20093075'); 이럴때, Insert into select를 사용해 해결해 주면 된다. insert into student(stu_no, stu_name, stu_dept, stu_grade, stu_class) select '20103009','홍길동','기계',stu_grade, stu_class from st..
[MariaDB] 문자열 함수 정리2 문자열 위치 elt(위치, 문자열1, 문자열2, ...) : 위치번째에 해당하는 문자열 반환 field(찾을 문자열, 문자열1, 문자열2, ...) : 찾을 문자열의 위치를 찾아서 반환, 매치되는 문자열이 없으면 0 반환 find_in_set(찾을 문자열, 문자열 리스트) : 찾을 문자열을 문자열 리스트에서 찾아서 위치 반환. 문자열 리스트는 ,(콤마)로 구분되어야 하며, 공백이 없어야 한다 instr(기준문자열, 찾을문자열) : 기준 문자열에서 부분 문자열을 찾아서 그 시작 위치 반환 locate(찾을문자열, 기준 문자열) : instr() 과 동일하지만 파라미터의 순서 반대 = position(찾을문자열 in 기준문자열) select elt(2,'하나','둘','셋'); 결과:둘 select fiel..
[MariaDB] autocommit 해제하는 방법 MariaDB에는 autocommit이 default로 설정되어있다. update, delete 등으로 데이터가 잘못 변경됐을 경우, rollback으로 되돌릴 수 있는데 autocommit이 설정되어있으면 난감해진다. show variables; -> 현재 설정값 확인show variables like 'autocommit%'; -> autocommit 설정값 확인 show variables; show variables like 'autocommit%'; 세션창을 통해 autocommit이 설정되어있는 걸 확인할 수 있다. 이제 autocommit값을 false로 설정해 해제시키면 된다. -- autocommit 해제 set autocommit = false; -- autocommit 설정 set au..
[MariaDB] 문자열 함수 정리1 아스키코드ASCII(아스키코드), CHAR(숫자) : 문자의 아스키 코드값을 돌려주거나, 숫자의 아스키 코드값에 해당되는 문자 돌려준다문자열 길이mariadb 10.3은 UTF-8 코드 사용 -> 영문 3Byte, 한글 9ByteLength(문자열) : 문자열 길이(byte단위)char_length(문자열) : 문자열 길이(글자의 개수)bit_length(문자열) : 문자열 길이(bit단위)select bit_length('abc'), char_length('abc'), length('abc'); 결과 : 24, 3, 3 select bit_length('가나다'), char_length('가나다'), length('가나다'); 결과 : 72, 3, 9문자열 자르기left(문자열,자리수) : 왼쪽에서 문..
[MariaDB] IF, IFNULL, NULLIF 함수 IF(수식, 참, 거짓) : 수식이 참 또는 거짓인지 결과에 따라 결과값 출력 select if (100>200,'참','거짓'); 결과: 거짓 IFNULL(수식1, 수식2) : 수식1이 NULL이 아니면 수식1 반환, 수식1이 NULL이면 수식2 반환 select ifnull(NULL, '널입니다'), ifnull(100, '널입니다') 결과: 널입니다, 100 NULLIF(수식1, 수식2) : 수식1 = 수식2 이면 null이 반환, 다르면 수식1 반환 select nullif(100,100), nullif(200,100); 결과: null, 200