[SQL] 데이터베이스를 조작하고 싶다(1)

준리·2021년 11월 2일
0

엘리스/* AI트랙 3기

목록 보기
13/23

데이터베이스

데이터베이스란 무엇일까?

  • 여러 사람이 공유해 사용할 목적으로 통합하여 관리되는 데이터의 모음

데이터는 단 1%의 결점도 없어야 합니다. 그래서 데이터를 관리하는 게 어렵습니다.

SQL : stuctured Query Language 구조와 지리 언어

데이터베이스에 접근하고 조작하기 위한 표준 언어
엑셀에서 데이터를 분석하는 것과 비슷한데 더 많은, 더 쉽게, 더 빠르게!

관계형 데이터 베이스

하나이상의 테이블로 이루어지며 서로 연결된 데이터를 가지고 있음
관계형 데이터베이스

각각의 표를 테이블이라고 지칭하고 하늘색선으로 연결되어있음

DB 명령어

desc : 특정 테이블에 어떤 칼럼이 있는지 구조가 무엇인지 조회하는 명령어

ex) desc 테이블명;

SQL에서 제일 중요한 명령어

select: 데이터 조회하기(검색, 필터)

ex) SELECT [칼럼명 or 표현식] FROM [테이블명, 뷰명]

ex) SELECT 칼럼명

  • * : 전체 데이터 검색
  • distinct+ 컬럼 : 뚜렷한, 분명함 : 테이블의 중복을 제거하고 보여준다.
select title, author     //*(all) 를 쓰면 전체를 가져옴
//명령  //검색할 컬럼
from book;
//book 테이블

중복을 제거하고 싶다면
SELECT DISTINCT title, author //셀렉트 디스팅트를 셀렉트 중복제거~ 라고 생각하며 읽으심 
FROM book;

from ~로 부터 : FROM 테이블명;

where 조건 : + 조건


조건을 추가하여 검색하기

검색하고자 하는 데이터의 조건을 설정 할 수있는 WHERE (조건은~)

select와 where 차이점

select는 + 컬럼명 from ⇒ select + title(제목)

where는 + 데이터(레코드) ⇒ where + 돈키호테(데이터)

SELECT *
//명령
FROM book
//테이블
WHERE title = '돈키호테';
//조건

모든 컬럼을 검색하는데 book 테이블에서 데이터를 가져와 조건은 제목이 돈키호테야

여러 개의 조건을 추가하기


SELECT *
FROM score
WHERE korea >=90 or math > 80;
#score 테이블에서 수학(math) 성적이 80과 90 사이의 값검색

SELECT *
FROM score
WHERE math BETWEEN 80 AND 90;

//나이대
between 20 and 29  //20대
between 30 and 39  //30대

//날짜
between '2020-03-01' and '2020-03-31';
-- 해당하는 작가가 쓴 책만 골라서 출력합니다.

select *
from book
where
author in ('William Shakespeare', 'John Ronald Reuel Tolkien', 'Joanne Kathleen Rowling') ;

#컬럼명 in (키워드) 꼭 괄호를 넣어야함! 
#북이라는 테이블에서 모든 정보를 불러오는데 조건이 있어
#작가 컬럼에서 해당 이름이 있는 3명의 작가의 것만 보여주세요.

논리연산자를 활용하여 조건 만들기 - AND, OR, NOT

employees 테이블에서 복잡한 조건을 만족하는 직원을 검색해 봅시다.

  • first_name이 'Chirstian' 또는 'Georgi' 이다.
  • gender가 남자이다.
  • hire_date가 '1986-06-26' 이 아니다.
select *
from employees
where 
gender = 'M'
and (first_name = 'Chirstian'
or first_name = 'Georgi')
and hire_date != '1986-06-26';

profile
트렌디 풀스택 개발자

0개의 댓글