본문 바로가기
인터페이스 개발/SQL - MariaDB

SQL - 기본[SELECT문] - 명칭, 주석, DESC, 샘플 데이터베이스 구축, SELECT

by cooluk 2020. 7. 28.

Chap.6 SQL 기본 - 명칭, 주석, DESC, 샘플 데이터베이스 구축, SELECT

 

SELECT문

명칭, 주석, DESC, 샘플 데이터베이스 구축, SELECT

 

 

 

명칭

  • 데이터베이스명.테이블명

    ▪ desc employees.titles;

  • 현재 사용 중인 데이터베이스의 명칭은 생략 가능

    ▪ use employees

    ▪ desc titles;

  • SQL 명령어는 대소문자 구분하지 않음

  • 사용자 정의 명칭은 구분하기도 함

 

주석

  • --

    ▪ 한 줄 주석문

  • /* */

    ▪ 여러 줄 주석문

 

DESC

  • 테이블의 구조를 출력

use employees;
DESC titles;

결과

DESC employees;

결과

 

샘플 데이터베이스 구축

  • shopDB.sql 파일을 c:\temp에 준비

  • 시작 > MariaDB > Command Prompt

    > cd \temp 

    > mysql -u root -p

  • MariaDB [sqlDB]> source showDB.sql

데이터베이스 생성

DROP TABLE IF EXISTS sqlDB; 
CREATE DATABASE sqlDB;

 

userTbl

SELECT * FROM userTbl;

결과

 

buyTbl

SELECT * FROM buyTbl;

결과

 

 

SELECT

  • 테이블의 내용 출력

    SELECT 필드 목록

    FROM 테이블명

    [ WHERE 조건 ]

    [ GROUP BY 컬럼명 ]

    [ HAVING 조건 ]

    [ ORDER BY 컬럼명 ]

SELECT 이용

USE sqlDB; 
SELECT * FROM userTbl;

결과

 

WHERE 절

SELECT * FROM userTbl WHERE name='김경호';  -- 대입연사자 없다. 동등 연산자.

결과

 

 

  • WHERE 절 - 관계 연산자(AND, OR, NOT)의 사용

AND

SELECT userID, Name 
FROM userTbl 
WHERE birthYear >= 1970 AND height >= 182;

결과

 

OR

SELECT userID, Name 
FROM userTbl 
WHERE birthYear >= 1970 OR height >= 182;

결과

 

  • WHERE 절 - BETWEEN … AND, IN() 그리고 LIKE

BETWEEN AND

SELECT userID, Name 
FROM userTbl 
WHERE height >= 180 AND height <= 183;
SELECT userID, Name 
FROM userTbl 
WHERE height BETWEEN 180 AND 183;

결과

 

IN()

SELECT Name, addr 
FROM userTbl 
WHERE addr = '경남' OR addr = '전남' OR addr = '경북';
SELECT Name, addr 
FROM userTbl 
WHERE addr IN('경남', '전남', '경북');

결과

 

LIKE

  % : 아무 글자가 와도 상관없음 - 개수 제한 없음

SELECT Name, height 
FROM userTbl 
WHERE name LIKE '김%';

결과

 

  _ : 한 글자로 아무 글자가 와도 상관없음

SELECT Name, height 
FROM userTbl 
WHERE name LIKE '_종신';

결과

 

  • 테이블의 내용 출력

AS

USE employees; 
SELECT first_name FROM employees; 
SELECT first_name, last_name, gender FROM employees;
USE employees; 
SELECT first_name AS 이름, gender AS 성별 FROM employees; 
SELECT first_name 이름, gender 성별, hire_date 입사일 FROM employees;

결과

 

  • WHERE 절

WHERE, AND, BETWEEN AND

SELECT *
FROM employees 
WHERE last_name = 'Lenart';

결과

 

SELECT *
FROM employees 
WHERE birth_date >= '1960-01-01'; -- 문자열을 알아서 date type으로 바꿔줌

결과

 

SELECT *
FROM employees 
WHERE birth_date >= '1960-01-01' 
	AND birth_date <= '1960-12-31';
SELECT *
FROM employees 
WHERE birth_date BETWEEN '1960-01-01' AND '1960-12-31';

결과

 

WHERE, OR, IN()

SELECT *
FROM employees 
WHERE last_name = 'Lenart' 
	OR last_name = 'Baaz' 
	OR last_name = 'Pillow';
SELECT *
FROM employees 
WHERE last_name IN('Lenart', 'Baaz', 'Pillow');

결과

댓글