본문 바로가기

개발/MySQL

(7)
[MySQL] DATETIME을 DATE로 형 변환하기 DATE_FORMATDATE_FORMAT() 함수는 날짜 및/또는 시간 값을 원하는 형식으로 포맷할 때 사용된다.DATE_FORMAT(컬럼, 형식)  여기서 형식은 %Y(4자리 연도), %y(2자리 연도), %m(월), %d(일), %H(24시간), %h(12시간), %i(분), %s(초) 등이 있다.  사용예시SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') DATE
[MySQL] NULL 판단하기 아래와 같이 where 절을 구성하면 NULL값인 AGE만 가져오게 된다.SELECT count(USER_ID) USERSfrom USER_INFOwhere AGE is NULL  그러나 아래와 같이 'NULL'로 값을 찾는다면 제대로 된 값이 찾아지지 않을 것이다. ' ' 안에 들어간 것은 문자열이고, MySQL이 NULL값으로 지정한 것은 문자열이 아닌 키워드이기 때문이다.SELECT count(USER_ID) USERSfrom USER_INFOwhere AGE='NULL'
[MySQL] limit로 특정 행만 가져오기 limit (num)= num 번째 행만 가져오기 사용 예시 코드SELECT NAME from ANIMAL_INSorder by DATETIME limit 1 DATETIME으로 정렬하고 첫번째 행 가져오게 된다. = 가장 옛날의 행을 가져오게 된다.    limit(num1,num2)= num1번째 행부터 num2개 가져오기 사용 예시 코드SELECT NAME from ANIMAL_INSorder by DATETIME limit 10, 2 // (10번째 행부터 2개가져옴) DATETIME으로 정렬하고 10번째 행부터 2개의 행을 가져오게 된다.
[MySQL] Having과 Where의 차이점 (by 중복 값 세기) Having과 Where의 차이점 Having은 그룹화 또는 집계가 발생한 후에 조건을 통한 필터링을 할 때 사용된다.Where은 그룹화 또는 집계가 발생하기 전에 조건을 통한 필터링을 할 때 사용된다.   Having 예시 코드 (중복 값 세기)SELECT NAME, count(NAME) COUNTfrom ANIMAL_INSgroup by NAMEHAVING count(NAME) > 1order by NAMEgroup by NAME으로 같은 이름인 열끼리 묶고,HAVING 으로 group화 된 것에서 count된게 1보다 큰 것만 가져왔다. 이 코드로 이름이 중복된 경우를 셀 수 있다.
[MySQL] 중복 / NULL 값 제외 count 하기 SELECT count(distinct NAME) countFROM ANIMAL_INS; distinct = 중복 제거count(칼럼명) = 칼럼 중 NULL 값 있는 칼럼 제거하여 countcount(*) = NULL값 포함하여 count
[MySQL] like를 활용한 대소문자 구분 MySQL에서는 like로 검사시 대소문자 구분을 하지 않는다. MySQL에서 대소문자 구분하는 방법BINARY(NAME) like '%el%'//BINARY(칼럼명) like '%원하는 문자열%' 이렇게 사용한다면 대소문자를 구분하게 된다.
[MySQL] 여러 기준으로 정렬하기 프로그래머스 level 1 여러 기준으로 정렬하기 동물 보호소에 들어온 모든 동물의 아이디(ANIMAL_ID)와 이름(NAME), 보호 시작일(DATETIME)을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다. SELECT ANIMAL_ID, NAME, DATETIMEfrom ANIMAL_INSorder by 2,3 desc 여러기준으로 정렬하고 싶으면 order by에 여러기준을 적용해주면 된다.