728x90
반응형

MariaDB SQL 51

MariaDB Select

MariaDB select 문을 사용하여 테이블에서 데이터를 쿼리하는 방법을 배웁니다. MariaDB 선택 문 소개 MariaDB select 문은 하나 이상의 테이블에서 데이터를 검색합니다. 다음은 select 문의 가장 간단한 구문입니다. select select_list from table_name; 이 구문에서: 먼저 데이터를 검색할 쉼표로 구분된 열 또는 표현식 목록을 지정합니다. 열은 table_name에서 사용할 수 있어야 합니다. 그런 다음 데이터를 쿼리하려는 테이블의 이름을 지정합니다 select 절이 from 절 앞에 나타나더라도 select 문을 실행할 때 MariaDB는 select 절 앞에서 from 절을 실행합니다. FROM → SELECT MariaDB select 문 예제 데..

MariaDB SQL 2023.05.15

한 번에 여러 테이블에서 데이터를 삭제하는 방법

DELETE JOIN 문의 사용법을 이해하고 한 번에 여러 테이블에서 데이터를 삭제하는 방법에 대해 알아본다. DELETE FROM 명령에서 INNER JOIN 또는 LEFT JOIN 절을 사용하여 많은 테이블에서 레코드를 삭제하는 보다 유연한 방법을 확인해 보자. 다음 쿼리는 DELETE FROM 문과 LEFT JOIN 절을 사용하여 EMPLOYEE 및 MACK_DATA 테이블에서 행을 삭제하는 방법을 보여준다. EX) DELETE EMPLOYEE, MACK_DATA FROM EMPLOYEE LEFT JOIN MACK_DATA ON EMPLOYEE.EMP_ID = MACK_DATA.DATA_ID WHERE EMPLOYEE.EMP_ID = 1; 쿼리에서 결과 집합에 대한 LEFT JOIN 절과 함께 DE..

MariaDB SQL 2023.04.12

MariaDB에서 NVL()을 사용하려면?

IFNULL (표현식1, 표현식2); MariaDB / Mysql에서는 NVL 대신 IFNULL 을 사용한다. 먼저 NVL의 문법은 다음과 같다. NVL (표현식1, 표현식2); : 표현식1의 값이 null일 경우, 표현식2의 값을 출력한다. Example SELECT NVL( null, 'no value'); Result : no value 이 경우, 조회하는 값이 null 일 경우, 'no value' 로 값을 대체하는 것이다. 만약, 표현식1의 값이 null이 아니라면, 표현식1이 그대로 출력된다. Example SELECT NVL( 'Hello World!', 'no value'); Result : Hello World! 이제 NVL() 을 IFNULL()로만 바꾸면 된다. Example SELE..

MariaDB SQL 2023.03.30

INSERT 한번에 여러개를 해보자.

Insert 구문 하나로 여러개의 데이터를 올리고 싶다면 어떻게 해야 하나? INSERT INTO 테이블 (컬럼명) VALUES (데이터1), (데이터2), (데이터3), ... 먼저 테스트를 위한 테이블(TEST)를 생성해보자. CREATE TABLE TEST ( NAME varchar(200) NOT NULL COMMENT '이름', USE_YN varchar(1) NOT NULL DEFAULT 'Y' COMMENT '사용유무', PRIMARY KEY (NAME) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='테스트'; NAME 컬럼에... AAA, BBB, CCC, DDD, EEE, FFF 를 넣으려고한다면.... INSERT INTO 테이블 (컬럼명) VALUE..

MariaDB SQL 2023.03.21

세로 데이터를 가로 데이터로 변환해 보자

아래 TEST 테이블의 테이터를 VERTICAL(종/세로) 에서 HORIZONTAL(횡/가로) 로 변환해 보려고 한다. BEFORE : TEST (VERTICAL), 세로 데이터 TEST NAME CLASS SCORE AAA KOR 100 AAA ENG 100 AAA CHN 50 BBB KOR 90 BBB ENG 70 BBB CHN 30 CCC KOR 80 CCC ENG 80 CCC CHN 40 AFTER : TEST (HORIZONTAL), 가로 데이터 TEST NAME KOR ENG CHN AAA 100 100 50 BBB 90 70 30 CCC 80 80 40 ① 먼저 CASE WHEN 을 사용하여 데이터의 정렬을 가로화 해보자. SELECT NAME, CASE WHEN CLASS = 'KOR' T..

MariaDB SQL 2023.03.15

MAX vs MIN (최대 vs 최소) 함수를 알아보자

MAX(컬럼명) vs MIN(컬럼명) 해당 함수는 숫자만이 아닌 문자형 데이터에도 사용할 수 있다. 최대값 구하기 SELECT MAX(컬럼명) FROM 테이블; 최소값 구하기 SELECT MIN(컬럼명) FROM 테이블; USER_TABLE ID USER_NM 1 BBB 2 CCC 3 AAA 위의 USER_TABLE 에서 가장 큰 값의 ID를 가져오려면 SELECT MAX(ID) AS MAX_ID FROM USER_TABLE; [실행결과] MAX_ID 3 위의 USER_TABLE 에서 가장 작은 값의 ID를 가져오려면 SELECT MIN(ID) AS MIN_ID FROM USER_TABLE; [실행결과] MIN_ID 1 위의 USER_TABLE 에서 문자로 정렬시 가장 첫번째 USER_NM를 가져오려면 ..

MariaDB SQL 2023.03.03

CASE WHEN 을 사용하여 조건에 맞는 결과값을 나타내보자.

SQL Query 문에서 if같은 조건문을 사용하고자 할때, CASE 문을 사용한다. ※ 사용법 CASE WHEN 조건1 THEN '결과값1' WHEN 조건2 THEN '결과값2' . . . ELSE '최후의 결과값' END - WHEN과 THEN은 한쌍으로 사용되어야 합니다. - WHEN과 THEN은 다수 사용이 가능합니다. - ELSE가 존재하면 WHEN - THEN 조건에 해당하지 않는 경우 결과값을 설정할 수 있습니다. - ELSE가 존재하지 않고, 조건에 참이 아니면 결과값으로 NULL을 반환합니다. REGION ID DO SI 1 KK 수원 2 KK 용인 3 JJ 제주 4 JN 광주 5 KN 부산 6 ? 워싱턴 위의 REGION 테이블에서 DO를 조건에 따라 다른 결과값으로 대체하려면... S..

MariaDB SQL 2023.03.02

GROUP_CONCAT ()으로 여러 행의 문자열을 합칠 수 있다.

GROUP_CONCAT([DISTINCT] [컬럼][ORDER BY 컬럼 ASC/DESC][SEPAPATOR '구분자']) USER_ADDR IDX REGION NAME 1 서울 AAA 2 인천 CCC 3 인천 DDD 4 천안 BBB 5 인천 DDD 기본적으로는 구분자 등을 생략하고 사용한다. GROUP_CONCAT(컬럼명) : 문자열사이에 구분자는 쉼표(,)가 기본으로 들어간다. 위의 테이블(USER_ADDR)에서 지역(REGION)별 이름(NAME)을 나타내고 싶을 때는 SELECT REGION, GROUP_CONCAT(NAME) AS NAMES FROM USER_ADDR GROUP BY REGION ; [실행결과] USER_ADDR REGION NAMES 서울 AAA 인천 CCC,DDD,DDD 천안..

MariaDB SQL 2023.02.28

CONCAT() 여러 문자들을 합칠 수 있다.

CONCAT(문자열1, 문자열2, 문자열3,...) 여러 문자열을 함께 합쳐 봅니다. SELECT CONCAT("concat 함수는 ", "여러문자를 ", "연결하는 ", "함수!") AS 연결된문자열; [실행결과] 연결된문자열 concat 함수는 여러문자를 연결하는 함수! USER_PHONE NAME HP1 HP2 철수 1234 4321 영희 1004 4001 순이 8282 2828 위의 테이블(USER_PHONE)에서 '010' 과 ' - ' 을 추가하여 철수의 HP 를 표현해보자 SELECT CONCAT('010 - ', HP1, ' - ', HP2) AS HP FROM USER_PHONE WHERE NAME = '철수'; [실행결과] HP 010 - 1234 - 4321

MariaDB SQL 2023.02.27

ORDER BY 정렬에 대하여

ORDER BY 컬럼명 ASC / DESC 를 기억하자. ORDER BY는 명시하는 컬럼에 대한 정렬을 하고자 할 때 사용한다. ASC 는 오름차순 혹은 순방향 정렬이라고 하고, DESC 는 내림차순 혹은 역방향 정렬이라고 한다. ASC 는 생략을 할 수도 있다. ORDER BY 컬럼명 다음에 아무런 명시를 해주지 않는 다면 기본값으로 ASC 정렬이 이루어진다. EXAM IDX VAL1 VAL2 1 A 100 2 C 200 3 D 200 4 E 300 5 B 500 위의 테이블(EXAM)에서 VAL1에 대해 A,B,C,... 순방향으로 정렬을 해보자. ① SELECT IDX, VAL1, VAL2 FROM EXAM ORDER BY VAL1; ② SELECT IDX, VAL1, VAL2 FROM EXAM O..

MariaDB SQL 2023.02.22
728x90
반응형