반응형 개발이야기/MySQL34 [MySQL] COALESCE 사용법, 예제, 활용하기 (NULL 치환) COALESCE 함수COALESCE 함수는 SQL에서 주어진 여러 표현식 중 첫 번째로 NULL이 아닌 값을 반환하는 함수입니다. 여러 값 중에서 NULL이 아닌 값을 선택할 때 유용하며, 모든 표현식이 NULL일 경우 NULL을 반환합니다. 사용방법COALESCE(expression1, expression2, ..., expressionN); -expression1, expression2, ..., expressionN 은 평가할 표현식들입니다.-위 표현식들은 컬럼 이름일 수도 있고, 다른 함수의 결과일 수도 있으며, 고정된 값일 수도 있습니다.-COALESCE 함수는 가장 첫 번째로 NULL이 아닌 값을 반환합니다.-만약 모든 표현식이 NULL이라면, COALESCE 함수는 NULL을 반환합니다. .. 개발이야기/MySQL 2024. 8. 1. [MySQL] CAST(), CONVERT() 함수 사용법, 예제, 차이점 CAST 및 CONVERT 함수는 데이터 형식을 변경하거나 다른 데이터 형식으로 변환하는 데 사용되는 함수입니다. 두 함수는 비슷한 목적을 가지고 있으며, 일부 경우에는 상호 대체 가능하지만 구문적으로 다릅니다. CAST 함수 -데이터를 다른 데이터 유형으로 명시적으로 변환할 때 사용됩니다. CAST(expression AS data_type) -expression은 변환하려는 값 또는 열, data_type은 원하는 데이터 유형입니다. CONVERT 함수 -데이터 형식을 변환하는 데 사용되며, MySQL에서는 CAST와 동일한 결과를 반환합니다. CONVERT(expression, data_type) -expression은 변환하려는 값 또는 열, data_type은 원하는 데이터 유형입니다. CAST.. 개발이야기/MySQL 2023. 10. 26. [MySQL] IF() 조건문 여러개 사용법, 예제 MySQL의 IF() 함수는 조건에 따라 값을 반환하는 데 사용됩니다. 주어진 조건을 평가하고, 조건이 참일 때는 하나의 값을, 거짓일 때는 다른 값을 반환합니다. IF() 함수는 데이터 가공, 조건부 필터링, 계산된 열 추가, 데이터 정제 등 다양한 데이터베이스 작업에 유용하며 복잡한 조건을 간단하게 처리할 수 있습니다. 사용법 IF(조건, 참일 때 값, 거짓일 때 값) //예제 SELECT IF(age >= 20, '성인', '미성년자') AS 성인여부 FROM 사용자테이블; -조건: 평가하려는 조건을 나타내는 표현식입니다. -참일 때 값: 조건이 참일 때 반환할 값입니다. -거짓일 때 값: 조건이 거짓일 때 반환할 값입니다. 위의 쿼리는 IF 함수를 사용하여 나이가 20세 이상이면 '성인'을 반환하.. 개발이야기/MySQL 2023. 10. 23. [MySQL] 뷰(VIEW) 테이블 생성하기, 예제, 사용법과 목적 뷰(VIEW) 테이블 이란? ㅇ 뷰(View)는 하나 이상의 기존 테이블로부터 생성되는 가상 테이블입니다. 뷰는 데이터베이스 내에서 쿼리를 간소화하거나 복잡한 데이터 검색 및 조작을 쉽게 하기 위해 사용됩니다. 뷰는 실제 데이터를 저장하지 않고, 저장된 데이터의 가상 표현을 제공합니다. 뷰(VIEW) 사용목적 1. 데이터 가시성 제어: 뷰를 사용하여 사용자에게 데이터베이스의 일부만 표시하거나 특정 열을 숨길 수 있습니다. 이렇게 하면 보안을 강화하고 중요한 데이터를 보호할 수 있습니다. 2. 복잡한 쿼리 단순화: 복잡한 SQL 쿼리를 미리 정의된 뷰로 간소화할 수 있습니다. 뷰를 사용하면 사용자가 복잡한 조인 또는 집계 연산을 직접 수행하지 않고도 쉽게 데이터에 액세스할 수 있습니다. 3. 데이터 변환 .. 개발이야기/MySQL 2023. 9. 22. [MySQL] 문자열 대문자, 소문자 변환하기 (UPPER, LOWER 사용법/예제) 아래 예제 쿼리는 UPPER, LOWER 함수에 대한 설명과 사용법을 말씀 드리고, 응용할 수 있는 쿼리문을 작성하였습니다. 사용법 1. UPPER 함수 ㅇ 문자열을 모두 대문자로 변환합니다. ㅇ 사용법 : UPPER(string) SELECT UPPER('Hello, World') AS UpperCase; //출력 결과 : HELLO, WORLD 2. LOWER 함수 ㅇ 문자열을 모두 소문자로 변환합니다. ㅇ 사용법 : LOWER(string) SELECT LOWER('Hello, World') AS LowerCase; //출력 결과 : hello, world 예제 1. 문자열 비교 ㅇ 대소문자를 구분하지 않고 두 문자열을 비교하는 경우 UPPER, LOWER 함수를 사용하여 문자열을 통일시킬 수 있습.. 개발이야기/MySQL 2023. 9. 12. [MySQL] 문자열 합치기/붙이기/연결하기 (CONCAT, CONCAT_WS 사용법&예제) 아래 예제 쿼리는 CONCAT, CONCAT_WS 함수를 활용해서 문자열을 결합하고 두 함수의 차이점에 대해서 말씀 드리겠습니다. 사용법 1. CONCAT 함수 CONCAT(string1, string2, ...) SELECT CONCAT('Hello', ' ', 'World') AS result; //출력 : Hello World ㅇ CONCAT 함수는 구분자를 사용하지 않고 문자열을 단순히 연결합니다. ㅇ string1, string2, ... 결합하려는 문자열의 목록입니다. 여러 개의 인수를 전달하여 필요한 수만큼 문자열을 연결할 수 있습니다. ㅇ 예를 들어, CONCAT('Hello', 'World')는 "HelloWorld"를 반환합니다. 2. CONCAT_WS 함수 CONCAT_WS(separ.. 개발이야기/MySQL 2023. 9. 11. [MySQL] LIMIT, OFFSET 사용해서 데이터 검색하고 제한하기 아래 예제 테이블과 쿼리는 LIMIT와 OFFSET을 사용해서 데이터를 검색하고 원하는 데이터를 선택 하는 코드입니다. 사용법 1. LIMIT SELECT * FROM 테이블명 LIMIT 행의수; SELECT * FROM students LIMIT 5; ㅇ 반환하려는 행(row)의 수를 지정합니다. 2. LIMIT / OFFSET SELECT * FROM 테이블명 LIMIT 행의수 OFFSET 시작위치; SELECT * FROM students LIMIT 5 OFFSET 5; //6번째부터 10번째 학생까지의 정보를 반환합니다. ㅇ LIMIT와 OFFSET을 함께 사용하면 결과 집합에서 특정 범위의 데이터를 추출할 수 있습니다. LIMIT는 반환하려는 행 수를 지정하고 OFFSET은 시작 위치를 나타냅니.. 개발이야기/MySQL 2023. 9. 11. [MySQL] WITH ROLLUP 사용해서 데이터 합계, 집계 하기 WITH ROLLUP은 결과 집합에 대한 부분 합계 및 총합계를 생성하는 데 사용되는 기능입니다. GROUP BY 절과 함께 주로 사용되지만 다른 집계 함수와 함께 사용될 수도 있습니다. WITH ROLLUP을 사용하면 원본 데이터에 대한 하위 합계와 최종 합계를 표시할 수 있으며, 이를 통해 데이터 요약 및 분석이 더욱 용이해집니다. 사용법 SELECT column1, column2, ..., 집계함수 AS alias FROM table GROUP BY column1, column2, ..., WITH ROLLUP; 검색할 열을 나열하고 필요한 경우 집계 함수를 사용하여 계산된 결과를 가져옵니다. GROUP BY 구문을 통해 결과를 그룹화할 열을 나열합니다. 이 열을 기준으로 데이터가 그룹화됩니다. 마.. 개발이야기/MySQL 2023. 9. 7. [MySQL] sql_mode=only_full_group_by 에러 간단히 해결하기 (sql_mode 변경하기) 아래 에러는 sql_mode=only_full_group_by 모드에서 쿼리를 실행할 때 발생합니다. only_full_group_by 모드가 설정되어 있을 때 GROUP BY 절에 있는 열 외에도 SELECT 절에 있는 열에 대한 제약을 부과합니다. Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column '' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 오류 내용 : 이 메시지에서 ' '라는 열이 GROUP BY 절에 포함되지 않았.. 개발이야기/MySQL 2023. 9. 6. [MySQL] JOIN(조인) 설명과 사용법 예제 (INNER, LEFT, RIGHT) MySQL에서 JOIN은 데이터를 추출하기 위해서 두 개 이상의 테이블을 연결하고 데이터를 검색하는 데 사용되는 중요한 SQL 연산입니다. JOIN으로 테이블 간의 관계를 활용해서 복잡한 쿼리문을 작성할 수도 있습니다. JOIN의 유형에 대해 설명드리겠습니다. JOIN 유형 1. INNER JOIN 두 개 이상의 테이블에서 일치하는 행만을 반환합니다. 테이블 사이의 교집합을 찾는 데 사용됩니다. 2. LEFT JOIN 또는 LEFT OUTER JOIN LEFT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행을 반환합니다. 만약 오른쪽 테이블에 일치하는 행이 없으면 NULL 값으로 반환됩니다. 이를 사용하면 주로 왼쪽 테이블의 모든 레코드와 연결된 오른쪽 테이블의 정보를 가져올 때 유용합.. 개발이야기/MySQL 2023. 9. 6. [MySQL] 위도 경도 값으로 거리 계산하기 (Haversine 공식) 아래 쿼리는 서울과 부산의 위도, 경도 값으로 하버사인(Haversine) 공식을 사용하여 직선 거리를 계산 하였습니다. ㅇ 서울 위도/경도 : 37.5665, 126.9780 ㅇ 부산 위도/경도 : 35.1796, 129.0756 SELECT '서울' AS 출발지, '부산' AS 목표지, ( 6371* acos ( cos(radians(35.1796))*cos(radians(37.5665))*cos(radians(126.9780)-radians(129.0756)) +sin(radians(35.1796))*sin(radians(37.5665)) ) ) AS 거리; ㅇ 6371은 지구의 반지름을 나타내며, 이 값은 km 단위의 결과를 얻기 위해 사용됩니다. ㅇ acos는 아크 코사인 함수로, 코사인 값의 .. 개발이야기/MySQL 2023. 8. 29. [MySQL] UNION, UNION ALL 차이점 (Group by, Order by 활용) 아래 예제 쿼리는 UNION과 UNION ALL의 차이점에 대해 설명하고, 테이블을 생성해 Group by와 Order by를 활용해 데이터를 병합하고 결과를 출력하는 쿼리입니다. UNION과 UNION ALL은 두 개의 결과를 결합하는 연산자입니다. 결과를 합치는 방식과 중복 처리 방식에 차이가 있습니다. UNION - 중복된 행을 제거하여 결과에는 유니크한 행들만 포함합니다. - 결과는 정렬되어 반환되며, 중복된 행이 제거된 상태입니다. UNION ALL - 중복된 행을 제거하지 않고 모든 행을 포함합니다. - 결과는 정렬되지 않으며, 그대로 반환됩니다. 예제 SELECT name, grade FROM students1 UNION SELECT name, grade FROM students2 ORDER.. 개발이야기/MySQL 2023. 8. 2. 이전 1 2 3 다음 반응형