반응형

자격증/SQLD 36

[SQL 첫걸음] 16강. 행 추가하기 - INSERT

행 추가하기 - INSERT SELECT는 질의를 하면 DB 서버에서 클라이언트로 결과를 반환하는 검색 명령이다. 반대로 INSERT,UPDATE,DELETE 등 데이터를 변경하는 명령은 클라이언트에서 서버로 데이터를 전송한다. INSERT 로 행 추가하기 INSERT [INTO] 테이블 VALUES (값1,값2...); sample41 저장된 데이터가 없는 테이블이다. DESC로 조회한 저장가능한 데이터 유형은 위와 같다. INSERT INTO sample41 VALUES(1,'ABC','2021-01-26'); 위 명령으로 sample41 테이블에 데이터를 추가한 후 다시 조회하면 다음과 같은 결과가 나온다. 값을 저정할 열 지정하기 INSERT [INTO] 테이블(열1,열2...) VALUES (값..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 15강. CASE문으로 데이터 변환하기

임의의 조건에 따라서 독자적으로 변환 처리를 지정해서 데이터를 변환하고 싶을 때 CASE문을 사용할 수 있다. CASE WHEN 조건식1 THEN 식1 [WHEN 조건식2 THEN 식2...] [ELSE 식3] END CASE문 예를 들어, NULL값을 0으로 간주해서 계산하고 싶을 때는 어떻게 해야 할까? NULL값으로 연산한 결과는 모두 NULL이 되는데? 이 경우에 CASE문을 이용해서 처리할 수 있다. RDBMS에서는 사용자가 함수를 작성할 수 있다. 간단한 처리의 경우에는 사용자 정의 함수를 작성하지 않고 CASE문으로 처리할 수 있다. WHEN절: 참과 거짓을 반환하는 조건식을 적어준다. 해당 조건을 만족해서 참이 되는 경우, THEN절에 있는 식이 처리된다. 이때 WHEN과 THEN을 한데 ..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 14강. 날짜 연산

CURREUNT_TIMESTAMP CURRENT_DATE INTERVAL SQL에서의 날짜 시스템 날짜 RDBMS에서는 시스템 날짜와 시간을 확인하는 함수를 제공한다. CURREUNT_TIMESTAMP는 함수이지만 인수를 필요로 하지 않는다. 즉, 괄호를 사용하지 않는 함수이다. #CURREUNT_TIMESTAMP로 시스템 날짜 확인 SELECT CURRENT_TIMESTAMP; # 2020-05-03 20:00:30 위의 예문에서 FROM구를 생략했는데, SELECT구만으로도 실행되지만, Oracle과 같이 전통적인 데이터베이스에서는 FROM구는 생략할 수 없으니 주의하자. 날짜 서식 날짜 데이터를 데이터베이스에 저장할 때는 CURREUNT_TIMESTAMP를 사용해서 시스템 상의 날짜를 저장할 수 있..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 13강. 문자열 연산

문자열 결합 문자열 결합이란 문자열 데이터를 결합하는 연산을 말한다. 문자열을 결합하는 연산자에는 데이터베이스 제품마다 방언이 있어서 차이가 있다. + || CONCAT SUBSTRING TRIM CHARACTER_LENGTH 데이터베이스 제품별 문자열 결합 연산자 +: SQL Server ||: Oracle, DB2, PostgreSQ CONCAT: MySQL 연산자, || 연산자, CONCAT함수로 문자열을 결합할 수 있다! 문자열 결합은 2개의 열 데이터를 모아서 1개의 열로 처리하고 싶은 경우에 자주 사용한다. 문자열 결합 예시 SELECT * FROM world.countrylanguage c ; 위의 테이블 countrylanguage Language열과 CountryCode열의 데이터를 결합..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 12강. 수치 연산

SELECT구로 연산하기 SELECT 식1, 식2... FROM 테이블명; 열의 별명 별명이 중복되지 않게 지정한다. 별명은 예약어 AS를 사용해서 지정한다. SELECT구에서는 콤마(,)로 구분해서 복수의 식을 지정할 수 있고, 각각의 식에 별명을 붙일 수 있다. MySQL에서는 별명을 중복해서 지정해도 에러는 발생하지 않는다. But, 프로그래밍 언어에서 결과값의 처리 방식에 따라 문제가 발생할 수 있다. 기본적으로 별명이 중복되지 않게 지정하자. 키워드 AS는 생략 가능하다. 단, 별명을 한글로 지정하는 경우에는 여러 가지로 오작동하는 경우가 많다. 더블쿼트("")로 감싸서 지정한다. (MySQL에서는 백쿼트(``)로 감싸준다!) 더블쿼트("")로 감싸주면, 데이터베이스 객체의 이름이라고 간주한다...

자격증/SQLD 2022.04.04

[SQL 첫걸음] 11강. 결과 행 제한하기- LIMIT

1. LIMIT구 mysql> SELECT 열명 FROM 테이블명 LIMIT 행수 [OFFSET 시작행]; 2. 행수 제한 LIMIT구는 표준 SQL은 아니다. MYSQL과 PostgreSQL에서 사용할 수 있는 문법 2-1. LIMIT구 문법 mysql> SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 LIMIT 함수; LIMIT 다음에는 최대 행수를 지정한다. 만약, 테이블에 1개의 행만 있다면, LIMIT 3으로 지정하더라도 1개의 행만 반환된다. LIMIT으로 제한하는 행수는 최대 행수이므로 존재하는 행이 더 적으면 존재하는 해당 행만큼 반환된다! 2-2. 정렬한 후 제한하기 LIMIT은 WHERE와는 기능과 내부처리 순서가 전혀 다르다! LIMIT 반환할 행수를 제한하..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 10강. 복수의 열을 지정해 정렬하기

1. ORDER BY mysql> SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명1 [ASC | DESC], 열명2 [ASC | DESC]...; 복수의 열을 지정해 정렬하는 경우 ex) 상품코드와 해당 상품의 하위 번호까지 함께 고려하는 경우 정렬할 때 NULL값에 주의해야 한다! 2. 복수 열로 정렬 지정 ORDER BY구를 지정해도 1개의 열만으로는 정확히 순서를 결정할 수 없는 경우가 많다. 언제나 같은 순서로 결과를 얻고 싶다면, 반드시 ORDER BY구로 순서를 지정해야 한다. 2-1. ORDER BY구로 복수 열 지정하기 mysql> SELECT 열명 FROM 테이블명 ORDER BY 열명1, 열명2...; 값이 같아서 순서를 결정할 수 없는 경우에는 다음으로 지정..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 9강. ORDER BY

1. ORDER BY로 검색 결과 정렬하기 SELECT 명령에 ORDER BY 구를 지정하면 검색 결과의 행 순서를 바꿀 수 있다. 2. 오름차순으로 정렬 SELECT 열 FROM 테이블 WHERE 조건식 ORDER BY 열 ASC; ASC는 생략 가능하다. 3. 내림차순으로 정렬 SELECT 열 FROM 테이블 WHERE 조건식 ORDER BY 열 DESC; 검색 조건이 필요없으면 WHERE 구를 생략한다. 4. 대소관계 4-1. 수치형 데이터, 날짜형 데이터 : 숫자 크기로 판별 1 < 2 < 10 < 100 1999 < … < 2013 < … < 2020 4-2. 문자열형 데이터 : 사전식 순서(ABC순, 가나다순) 가방 < 가족 < 나비 car < flower < glasses 4-3. 사전식 순..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 8강. 패턴 매칭에 의한 검색

1. LIKE로 패턴 매칭하기 열명 LIKE '패턴' 패턴을 정의할 때 사용할 수 있는 메타문자로는 %(퍼센트)와 _(언더스코어)가 있다. 퍼센트는 임의의 문자열을 의미하며, 언더스코어는 임의의 문자 하나를 의미한다. 패턴을 정의할 때는 메타문자를 여러개 사용 가능하며 와일드카드로 자주 쓰이는 *는 LIKE에서는 사용불가하다. SELECT * FROM SAMPLE25 WHERE TEXT LIKE '%SQL'; text 열 데이터가 SQL ~ 로 시작하는 행을 검색(전방일치) SELECT * FROM SAMPLE25 WHERE TEXT LIKE '%SQL%'; text 열 데이터가 중간에 SQL을 포함하고 있는 행을 검색(중간일치) SELECT * FROM sample25 WHERE text LIKE '%..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 7강. 조건 조합하기

1. AND로 조합하기 SELECT * FROM 테이블명 WHERE 조건식1 AND 조건식2; 복수의 조건을 조합할 경우 AND를 가장 많이 사용합니다. AND는 논리연산자의 하나로 좌우의 항목이 필요한 이항 연산자가 됩니다. AND 연산은 조건을 만족하는 행을 집합으로 표현했을 때 이들 집합이 겹치는 부분, 즉 "교집합" 으로 계산할 수 있습니다. AND연산자는 논리곱을 계산하는 논리연산자입니다. AND로 조건식을 연결하면 모든 조건을 만족하는 행을 검색할 수 있습니다. 2. OR로 조합하기 SELECT * FROM 테이블명 WHERE 조건식1 OR 조건식2; 어느쪽이든 하나만 참이 되면 조건식은 참이 된다라고 할 경우에는 OR로 조건식을 연결합니다. OR또한 논리연산자로 좌우 항목이 모두 필요한 이항..

자격증/SQLD 2022.04.04
반응형