목록전체 글 (253)
bdfgdfg
Index 인덱스란 테이블의 데이터를 조회할 때 더 빠르게 검색하기 위한 것. -> 다만 그 만큼 용량을 더 잡아먹는다. 인덱스가 걸리지 않는 테이블을 조회하는건 사실상 O(N). 선형탐색과 다를게없다. O(N)이 느린건 아니지만, 많은 데이터를 저장하는 데이터베이스에서는 해당 검색시간은 많이 느린편에 속함. 인덱스는 이름그대로 색인. 책에서 목차를 먼저 찾고, 그 후 데이터를 조회하는 방식. 인덱스를 걸 대상은 고유한 값(고유한 값? -> 기본키)이여야한다. 인덱스는 책의 목차라고 했다. 예로들어 사진이라는 목차를 찾아갔는데 연관된 페이지가 100장 혹은 1000장을 넘어버리면 그게 무슨 의미가있을까. 즉 우리는 목차만 보고 그 목차와 연관된 실제 내가 찾고싶은 데이터를 빠르게 찾기 위해서 인덱스를 거..
Join 데이터베이스는 굉장히 많은 테이블이 존재할 수 있다. 이때까지는 하나의 테이블을 대상으로 Select(조회)를 했지만, 실제로는 여러 테이블을 대상으로 데이터를 조회해야할 경우도 당연히 존재한다. 그럴 때 Join절을 사용하게 된다. -> 여러 테이블을 하나로 합쳐서 본다고 생각하면 된다. -> Join은 Key를 기준으로 테이블을 합치게 된다. -->간단 복습. 기본키(Primary Key)는 하나만이 존재하며(여러 칼럼을 하나의 기본키로 설정이 가능), 보통 고유한 값(주민 등록번호 등)을 대상으로 기본키를 설정한다. 외래키(Foregin Key)는 다른 테이블이 아까 설정한 기본키를 참조하는 Key. https://ingorae.tistory.com/446 여기 그림이 설명이 잘되어있음. ..
Gropu by는 집계 연산자(sum,count,avg,max,min등)를 실행할 떄 기준을 알려주는 라인이다. 즉 어떤 유형별로 데이터를 가져오고 싶을 때. 참고로. GROUP BY를 사용할 때는 두가지를 기억해야 합니다. 특정 컬럼을 그룹화 하는 GROUP BY 특정 컬럼을 그룹화한 결과에 조건을 거는 HAVING * WHERE랑 HAVING을 헷깔리는 경우가 많은데 WHERE는 그룹화 하기 전이고, HAVING은 그룹화 후에 조건입니다. -> 참고 : https://extbrain.tistory.com/56 예로들어 직원이라는 테이블이 존재한다고 생각해보자. 그렇다면 그 안에 Country라는 칼럼이 존재한다고 할 때 만약 내가 나라별로 회사원들의 수를 구하고싶다고 한다면 밑과 같이 작성이 가능하다..
SQL은 총 네가지로 나뉜다. CRUD라고도 하는데 각 Create,Read,Update, Delete. DBA팀이 아닌이상 사실 SQL을 사용할 때는 대부분 Read쪽만 거의 사용하게 된다. SELECT 구문은 Select/from/where/group by/having/order by의 6가지 절로 나뉘게 된다. 어렵지 않다. 오히려 쉬운편. 실습환경은 밑 https://w3schools.com/sql/trysql.asp?filename=trysql_select_all -> 실제 SSMS를 사용하는거보다 훨 불편하기는 하지만.. 간단하게 실습하기에는 좋다 DB에서 데이터를 가져올 때 가장 중요한 2가지. 바로 Select, Where이다. 어디서? 데이터를 가져오고, 어떤 걸? 가져올지에 대한 정보다..