본문 바로가기

SQL

(7)
[SQLD]노랭이 개정판 2장 1~30번 , NULL 정리 오답 정리 Q7. WHERE 절과 HAVNING절 차이 WHERE : 전체 데이터에서 특정한 조건으로 필터링하는 역할 (집계함수 사용 불가)HAVING : 집계된 결과에서 필터링하는 역할 Q11. '' 입력 시조회하기ORACLENULLIS NULL()SQL''컬럼명 = ''  Q15. 줄바꿈도 COUNT된다CHR(10) : 줄바꿈REPALCE(대상,CHR(10)) :  줄바꿈 제거 Q16. TO_CHAR() : 날짜를 문자형으로 형 변환1/24/60 : 1분1/24/(60/10) : 10분1/12/(60/30) : 1시간 Q23.COUNT(*) : NULL 값을 포함한 행의 수를 출력한다COUNT(표현식) : 표현식의 값이 NULL값인 것을 제외한 행의 수를 출력한다COUNT(NULL) : 0 Q28. ..
[MYSQL] 프로그래머스 SQL 문제풀기 1. SELECT CONCAT('/home','/grep','/src/',BOARD_ID,'/',FILE_ID,FILE_NAME,FILE_EXT) FILE_PATH FROM USED_GOODS_FILE WHERE BOARD_ID = (SELECT BOARD_ID FROM USED_GOODS_BOARD ORDER BY VIEWS DESC LIMIT 1) ORDER BY FILE_ID DESC; 2. SELECT E.DEPT_ID, D.DEPT_NAME_EN, ROUND(AVG(E.SAL),0) AVG_SAL FROM HR_EMPLOYEES E LEFT JOIN HR_DEPARTMENT D USING (DEPT_ID) GROUP BY 1 ORDER BY AVG_SAL DESC; 3. SELECT CAR_ID..
[MYSQL] LEFT,MID,RIGHT/ SUBSTR 🎯문자열 일부 가져오기 MID = SUBSTR = SUBSTRING 인수: 문자를 가져올 문자열, 문자를 가져올 시작 지점, 가져올 길이 예시) # 1. 문자열 중 원하는 일부 문자 출력 SUBSTR('TABLE', 2, 2) # 결과는 AB # 2. 마지막 인수 빼고 기재 SUBSTR('TABLE',2) # 결과는 ABLE # 3개 인수중 가운데 인수만 빼는것은 안됨 📍컬럼 일괄 적용도 가능하다. 문자열 대신 컬럼명 적어주기
[MYSQL] GOALESCE(), 소수점 처리, DATEDIFF(), TIMESTAMPDIFF() GOALESCE(컬럼,변경값) 해당 컬럼에 NULL을 지정한 값으로 변경해주는 함수 소수점 처리 CEIIL(값) 올림 FLOOR(값) 내림 ROUND(값, 자리수) 반올림 : 자리수를 넣지 않으면 소수를 모두 반올림 TRUNCATE(값, 자리수) 버림 : 자리수까지 버림 DATEDIFF(날짜1,날짜2) 두 날짜간의 차이를 DATE(일)로 가져오는 함수 내부 계산은 날짜1 - 날짜2 TIMESTAMPDIFF(결과값형식,날짜1,날짜2) 모든 시간관련 차이를 계산 하는 함수 SECOND 초 WEEK 주 MINUTE 분 MONTH 월 HOUR 시 QUARTER 분기 DAY 일 YEAR 년도
[MYSQL] DATE_FORMAT() DATE_FORMAT() : 날짜 형식 변환 함수 DATETIME : YYYY-MM-DD HH:MM:SS DATE: YYYY-MM-DD 날짜 뒤에 시간 부분을 제외하고 조회하려고 찾아봄 DATE_FORMAT(문자열 또는 컬럼, '원하는 형식')의 형태로 사용하면 된다. 아래처럼 시간까지 붙어있던 형태에서 시간은 제외하고 날짜만 조회하기 SELECT DATE_FORMAT(A.SALES_DATE,'%Y-%d-%y')SALES_DATE, A.USER_ID, A.PRODUCT_ID, A.SALES_AMOUNT FROM ONLINE_SALE A LEFT JOIN OFFLINE_SALE B USING(SALES_DATE) WHERE A.SALES_DATE BETWEEN '2022-03-01' AND '2022-03..
[MYSQL] Subquery Subquery 란? SELECT문 안에 다시 SELECT문이 기술된 쿼리 상위 SELECT문 안에 하위 SELECT문이 포함된 형태라 중첩된(nested) 쿼리라고도 부름 다른 테이블에서 조회한 데이터 값(서브쿼리)을 메인 쿼리에서 조건으로 사용한다쿼리문 구조 Subquery의 종류 1. 중첩 서브쿼리(Nested Subquery) : WHERE절에 나타나는 서브 쿼리 단일 행 서브 쿼리(Single Row Subquery) : 하나의 행을 검ㅅ색하는 서브 질의 다중 행 서브 쿼리(Multiple Row Subquery) : 하나 이상의 행을 검색하는 서브 질의 다중 열 서브 쿼리(Multiple Column Subquery) : 하나 이상의 열을 검색하는 서브 질의 2. 인라인 뷰(Inline Vie..
[MYSQL] JOIN 연산 💡 KEY의 종류 Promary key(기본키) : 기본 키는 테이블의 각 행을 고유하게 식별하는 열 Foreign Key(외래키) : 외래 키는 다른 테이블의 기본 키를 참조하는 열 💡 KEY 지정의 이점 무결성: 데이터 간의 관계가 명확해 지고 , 잘못된 데이터의 입력을 방지 최적화: 기본 키와 외래 키가 인덱스로 자동 구성되므로, 이를 사용하는 조인 연산은 일반적으로 더 빠르고 효율적 명확성: 기본 키와 외래 키를 정의 하면 데이터 모델의 구조가 명확해지며, 데이터 간의 관계를 이해 용이 💡 JOIN 연산의 종류