ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1주차 SQL
    SQL 정리 2022. 10. 17. 20:19

    개발 기록 일지 SQL

    *select 쿼리문의 개념

    쿼리(Query)문이란? 쿼리는 질의를 의미하죠. 데이터베이스에 명령을 내리는 것을 의미합니다. 여기서 Select 쿼리문은, 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미입니다.

    Select 쿼리문은 1) 어떤 테이블에서 2) 어떤 필드의 데이터를 가져올지 로 구성됩니다.

    *where 절의 개념

    Where 절은, Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미해요.

    1) orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와줘!

    2) point_users 테이블에서 포인트가 5000점 이상인 데이터만 가져와줘!

    3) orders 테이블에서 주문한 강의가 앱개발 종합반이면서, 결제수단이 카드인 데이터만 가져와줘!

     **Select 쿼리문에 Where 절 함께 써보기

    select * from orders where payment_method = "kakaopay";

    "orders 테이블에서 payment_method kakaopay인 것만 가져와줘!"

    Q) 잠깐! kakaopay가 아니라 "kakaopay"라고 쓰나요? A) kakaopay를 필드명이나 테이블명이 아닌 문자열로 인식시키려는거에요.

    select * from orders where course_title = "앱개발 종합반" and payment_method = "kakaopay";

    **같지않음 조건

    '같지 않음' 조건은 != 로 걸 수 있습니다.

    잠깐 상식! '!=' 에서 ! (느낌표)는 부정 (not)을 의미합니다. '='는 같음을 의미하니, '!='는 같지 않음이겠죠!

    **포함 조건

    select * from checkins where week in (1, 3);

    1, 3 주차 사람들의 '오늘의 다짐'만 잘 나오죠?

    **패턴 조건

    select * from users where email like '%daum.net';

    ***활용법***

    • where email like 'a%': email 필드값이 a로 시작하는 모든 데이터
    • where email like '%a' email 필드값이 a로 끝나는 모든 데이터
    • where email like '%co%' email 필드값에 co를 포함하는 모든 데이터
    • where email like 'a%o' email 필드값이 a로 시작하고 o로 끝나는 모든 데이터

    **범위 조건

    select * from orders where created_at between "2020-07-13" and "2020-07-15";

    7 13, 7 14일 주문데이터만 잘 나오죠?

     

    **일부데이터만 가져오기 limit

    select * from orders where payment_method = "kakaopay" limit 5;

     

    **중복데이터 제외하고 가져오기 distinct

    select distinct(payment_method) from orders;

    **몇 개인지 숫자세보기 count

    select count(*) from orders

    ***활용***

    select distinct(name) from users;

    SELECT count(distinct(name)) from users;

     

    ***연습***

    성이 남씨인 유저의 이메일만 추출하기

    select email from users where name = "**";

    Gmail을 사용하는 2020/07/12~13에 가입한 유저를 추출하기

    select * from users where created_at between "2020-07-12" and "2020-07-14" and email like "%gmail.com";

    Gmail을 사용하는 2020/07/12~13에 가입한 유저의 수를 세기

    select count(*) from users where created_at between "2020-07-12" and "2020-07-14" and email like "%gmail.com";

     

    naver 이메일을 사용하면서, 웹개발 종합반을 신청했고 결제는 kakaopay로 이뤄진 주문데이터 추출하기

    select * from orders where email like '%naver.com' and course_title = '웹개발 종합반' and payment_method = 'kakaopay'

     

     

     

    'SQL 정리' 카테고리의 다른 글

    SQL 복습  (0) 2022.11.08
    SQL 복습  (0) 2022.11.06

    댓글

Designed by Tistory.