728x90
반응형
SMALL
MySQL 접속
MySQL Workbench로 MySQL 서버를 실행하고 데이터베이스를 추가하기 위해 https://dev.mysql.com/doc/index-other.htm에서 샘플 데이터를 다운 받는다.
파일 메뉴에서 Open SQL Script를 선택 후 world.sql 파일을 연다. 그러면 쿼리가 실행되고 좌측 레이아웃에서 오른쪽 마우스 클릭 후 Refresh All 메뉴를 선택하면 World 데이터베이스가 나타난다.
실행하기 위한 쿼리문을 작성하기 위해 new SQL을 생성한다.
데이터베이스 선택 및 출력
# 데이터 베이스 선택
USE world;
# 현재 선택된 데이터베이스 출력
SELECT database();
SQL문의 종류 : DML / DDL / DCL
DML (Data Manipulation Language) |
|
DDL (Data Definition Language) |
|
DCL (Data Control Language) |
|
주석
-- |
|
/* */ | 블럭 주석 |
SELECT
SELECT FROM은 데이터를 검색할때 사용되는 문법이다.
# SELECT <columns> FROM <table>
SELECT * FROM country;
SELECT Code, Name, Population FROM country;
# AS : alias
SELECT code, name AS country_name, population
FROM country;
OPERATORS
SQL Query에서는 세가지 연산자의 사용이 가능하다. 연산자는 SELECT 절에서 숫자나 논리값들을 연산할 때와 컬럼과 컬럼을 연산하는 경우에도 사용이 가능하다.
+ | 덧셈 |
- | 뺄셈 |
* | 곱셈 |
/ | 나눗셈 |
% | 나머지 |
div | 몫 |
산술 연산자
# Operator : 산술, 비교, 논리
# 산술연산자 : +, -, *, /, %
SELECT code, name, population, surfacearea
FROM country;
# 인구밀도 컬럼을 추가 : population / surfacearea
SELECT code, name, population, surfacearea
, population / surfacearea AS pps
FROM country;
# 국가코드, 국가이름, 인구수, GNP(총GNP), 1인당 GNP 출력
SELECT code, name, population, gnp, gnp / population * 1000 AS gpp
FROM country;
비교 연산자
결과가 True 이면 0을 출력, 결과가 False 이면 1을 출력한다.
= | 같음 |
!= | 같지 않음 |
> | 큼 |
< | 작음 |
>= | 크거나 같음 |
<= | 작거나 같음 |
# 산술 : 데이터 + 데이터 = 데이터
# 비교 : 데이터 + 데이터 = 논리값 : 조건 1개
# 논리 : 논리값(비교연산) + 논리값(비교연산) = 논리값 : 조건 2개 이상
# 비교 연산자 : =, !=, >, <, >=, <=
SELECT code, name, continent
FROM country;
# Asia 대륙이면 1(True), 아니면 0(False) 출력하는 컬럼 추가
SELECT code, name, continent, continent = 'Asia' AS is_Asia
FROM country;
# 국가코드, 국가이름, 독립년도(indepyear), 독립년도가 1900년 이후이면 1, 아니면 0 출력
SELECT code, name, indepyear, indepyear >= 1900 as upper_1900
FROM country;
논리 연산자
True와 False의 논리 값을 연산한다.
AND | 둘 다 True이면 True |
OR | 둘 다 False이면 False |
# 논리연산자 : NOT, AND(T and T = T), OR(F or F = F)
# 아시아 대륙이면서 1900년도 이후에 독립한 국가를 1, 아니면 0으로 출력하는 컬럼 추가
# 조건 1 : 아시아 대륙
# 조건 2 : 1900년도 이후 독립
SELECT code, name, continent, indepyear, continent = 'Asia', indepyear >= 1900
FROM country;
SELECT code, name, continent, indepyear
, continent = 'Asia' AS is_asia, indepyear >= 1900 AS upper_1900
, (continent = 'Asia') AND (indepyear >= 1900) as is_asia_upper_1900
FROM country;
728x90
반응형
LIST
'Data-driven Methodology > DataBase' 카테고리의 다른 글
[DataBase] MySQL ORDER BY, LIMIT (0) | 2024.05.20 |
---|---|
[DataBase] MySQL WHERE (0) | 2024.05.20 |
관계형 데이터베이스 관리 시스템 (Relational DataBase Management System) (0) | 2024.04.16 |
MySQL 설치 (0) | 2024.02.27 |
[DataBase] DB Browser for SQLite (0) | 2022.09.26 |