SQL 5

SQL (5) - CASE

이번 포스트에서는 다른 언어의 Switch - Case와 비슷한 SQL의 CASE 함수에 대해 알아보겠습니다. 1) 사용법일반적인 Switch - Case의 문법은 다음과 같이 작성합니다.swtich(대상) case 조건1: 로직 break; case 조건2: 로직 break; default: 로직 break; 기본적인 로직은 대상에 한해서 case의 조건에 맞다면 해당하는 case의 로직을 수행하고모든 case의 조건에 맞지 않는 대상은 default의 로직을 수행하게 되어 있습니다. 이제 SQL에서의 CASE 함수의 문법을 살펴보겠습니다.SELECT *, CASE 대상 WHEN 조건 THEN 로직 ELSE 로직 END AS 속성이름FROM..

데이터베이스 2025.02.05

SQL (4) - DATETIME

이번 포스트에서는 SQL에서 시간을 나타내는 자료형인 DATETIME에 대해 알아보겠습니다. 1) 시간 자료형에 대해 간단하게 알아보기시간의 경우 매우 정밀하게 동작해야 하므로 기존의 자료형을 사용하기보다는새로운 자료형을 만들어 사용하는 것이 훨씬 더 효율적입니다.SQL에서 사용가능한 시간자료형을 간단하게 알아보면 다음과 같습니다.DATE : 연/월/일TIME : 시/분/초DATETIME : 연/월/일/시/분/초또한 시간 자료형을 사용하는 경우,일정한 형식을 통해 시간의 변환이 이뤄지기 때문에 일정한 형식을 만들어 사용해야 합니다.사용가능한 형식은 다음과 같습니다.YYYY/MM/DDYYYYMMDD hh:mm:ss.nnn 2) 문자열 자료형을 시간 자료형으로 변환하기-- 문자열 자료형을 시간 자료형으로 변..

데이터베이스 2025.02.05

SQL (3) - 산술연산과 문자열

이번 포스트에서는 SQL에서 산술 연산을 어떻게 수행하고 또 문자열은 어떻게 다루는지 알아보겠습니다. 1) 산술연산-- SQL에서의 산술 연산, 산술 연산간 우선순위는 기존의 연산자와 같다-- + - * /(몫) %(나머지) -- 한국 나이를 가져오고 해당 한국 나이가 80 이하인 경우만 오름차순 정렬SELECT 2025 - birthYear AS KoreanAgeFROM playersWHERE deathYear IS NULL AND birthYear IS NOT NULL AND (2025 - birthYear)  SQL에서도 마찬가지로 사칙연산을 수행하는 연산자들간의 우선순위가 존재합니다.이런 우선순위를 주의하며 사용할 필요가 있습니다. 첫 번째 쿼리의 경우 이전에 사용하던 데이터 테이블에서산술 연산을..

데이터베이스 2025.02.04

SQL (2) - ORDER BY문

이번 포스트에서는 정렬을 수행하는 ORDER BY 구문에 대해 알아보겠습니다. 1) 기본적인 ORDER BY-- NULL을 생략하지 않는 ORDER BYSELECT *FROM playersORDER BY birthYear;-- 기본적으로 오름차순으로 정렬함SELECT *FROM players WHERE birthYear IS NOT NULLORDER BY birthYear;-- 내림차순으로 정렬SELECT *FROM players WHERE birthYear IS NOT NULLORDER BY birthYear DESC; ORDER BY 구문은 위와 같이 사용할 수 있습니다.기본적으로 오름차순으로 동작하면서 이를 명시하고 싶다면 ASC를 작성해주고,내림차순으로 동작하고 싶다면 DESC를 작성해주면 됩니다..

데이터베이스 2025.02.04

SQL (1) - SELECT문

이번 포스트에서는 데이터 베이스를 다루는 언어 중 SQL을 다뤄보고SQL에서 특정 데이터를 골라오는 SELECT 문법을 한번 알아보겠습니다. 1) 모든 데이터 가져오기SELECT *FROM players; SELECT 연산자 다음에 * 연산자를 사용해 특정 테이블에서 모든 데이터를 가져올 수 있도록 합니다.또한 FROM 연산자를 통해 데이터를 가져오는 특정 테이블을 지정할 수 있습니다.현재 연산은 players 테이블에서 해당하는 모든 데이터를 가져오게 됩니다.실행결과는 다음과 같습니다. 2) 조건부 데이터 가져오기-- 출생연도가 1866인 경우만 가져오되, nameFirst 행을 name으로 가져오기SELECT nameFirst as name, nameLast, birthYearFROM playersW..

데이터베이스 2025.02.04