본문 바로가기

분류 전체보기

(226)
데이터베이스 정리 12 - SELECT문의 실행 순서 각 절들 중에서 더 앞에 와야 하는 순서 1. SELECT 2. FROM 3. WHERE 4. GROUP BY 5. HAVING 6. ORDER BY 7. LIMIT 이순서는 써야 하는 순서 대이다. 하지만 쓴 순서대로 실행되는 것은 아니다. 순서대로 해석 및 실행되는 순서 1. FROM 2. SELECT 3. GROUP BY 4. HAVING 5. SELECT 6. ORDER BY 7. LIMIT 의미 FROM : 어느 테이블을 대상으로 할 것인지를 먼저 결정합니다. WHERE : 해당 테이블에서 특정 조건(들)을 만족하는 row들만 선별합니다. GROUP BY : row들을 그루핑 기준대로 그루핑합니다. 하나의 그룹은 하나의 row로 표현됩니다. HAVING : 그루핑 작업 후 생성된 여러 그룹들 중..
데이터베이스 정리 11 - 그루핑 그루핑(grouping) : 로우들을 여러 개 그룹으로 나눈다는 의미 gender 칼럼을 기준으로 같은 값을 갖는 로우들은 같은 그룹에 속하게 된다. 그런데 gender의 결과를 보면 DISTINCT의 실행결과와 같다. 하지만 외부적으로는 같아 보이지만 내부적으로는 정말 다르다. gender의 m 안에는 gender 컬럼의 값이 m인 모든 row들이 들어 있고, f 안에는 값이 f인 row가 들어가 있다. 각각의 row는 하나의 그룹을 나타내고 있는 것이다. COUNT - 조회되는 row의 개수를 구해주는 표현식 즉 위 구문에서는 전체 테이블에 대해서 실행되는 것이 아니라 f와 m에 대해 각각 조회되고 있는 것이다. 다른 예) SUBSTRING은 문자열 함수로 문자열에서 원하는 부분만 뽑아내는 함수이다...
데이터베이스 정리 10 - 문자열 관련 함수 먼저 고유값만 보는 함수에 대해서 알면 좋을 것 같다. DISTINCT 함수 address 컬럼에 있는 값에서 가장 첫 번째 문자부터 시작해서 총 두개의 문자를 추출하라는 구문이다. 문자열 함수들 1. LENGTH 함수 SELECT *, LENGTH(address) FROM subpang_main.member; LENGTH 함수는 문자열의 길이를 구해준다 2. UPPER, LOWER 함수 SELECT email, UPPER(email) FROM subpang_main.member; UPPER는 문자열을 모두 대문자로 바꿔서 보여주는 함수이고, LOWER는 문자열을 모두 소문자로 바꿔서 보여주는 함수이다 3. LPAD, RPAD 함수 SELECT email, LPAD(age, 10, '0') FROM su..
데이터베이스 정리 9 - NULL을 다른 값으로 변환하는 함수들 1. COALESCE 함수 COALESCE함수는 괄호 속 인자 중에서 가장 첫 번째로 NULL이 아닌 값을 반환합니다. -NULL 대신에 'N/A'라는 문자열을 출력이 되었다. 2. IFNULL 함수 IFNULL 함수는 첫 번째 인자가 NULL인 경우에는 , 두 번째 인자를 표시하고 NULL이 아니면 해당 값을 그대로 표현합니다. 3. IF 함수 IF 함수는 가장 첫 번째 인자로 어떤 조건식이 옵니다. 만약 그 조건식의 결과가 True라면 두 번째 인자를 리턴하고, False라면 세 번째 인자를 리턴합니다. 4. CASE 함수 CASE 함수의 형식 CASE WHEN 조건1 THEN 해당 조건이 TRUE일 때 보여줄 값 WHEN 조건2 THEN 해당 조건이 TRUE일 때 보여줄 값 WHEN 조건3 THEN..
데이터베이스 정리 8 - 집계 함수와 산술 함수 집계 함수 : 어떤 컬럼의 값들을 대상으로 원하는 특정값을 구해주는 함수를 집계 함수 (Aggregate Function)라고 한다. 집계 함수 종류 : COUNT, MAX, MIN, AVG 등이 있다. 함수 COUNT COUNT() : 개수 라는 의미로 COUNT 뒤에 괄호를 열고 특정 컬럼의 이름을 쓰면 해당 컬럼의 값을 가진 로우 수를 구할 수 있다. - COUNT()함수는 NULL의 개수를 제외하고 개수를 센다 함수 MAX, MIN MAX : 최댓값이라는 뜻으로 특정 컬럼의 값 중에서 가장 큰 값을 알려주는 함수이다. MIN : 최솟값이라는 뜻으로 특정 컬럼의 값 중에서 가장 작은 값을 알려주는 함수이다. 함수 AVG AVG : 평균이라는 뜻으로, 특정 컬럼의 평균값을 알려주는 함수이다. 이외에도..
데이터베이스 정리 7 - 데이터 정렬 SQL에서 정렬 : ROW들을 특정 칼럼 기준을 기준으로 순서대로 출력하는 것 ORDER : '순서'라는 뜻 BY : '~에 의해' 라는 뜻 BY뒤에 정렬 기준을 적어 주면 된다. 위 구문은 height 칼럼이 정렬 기준이 되었다. 키가 작은 회원부터 더 큰 회원순서대로 로우들이 출력되었다. (정렬할 때 NULL은 보통 가장 작은 값으로 취급된다.) ASC(ASCENDING) : 오름차순 DESC(DESCENDING) : 내림차순 보통 별다른 표기를 안 하면 오름차순으로 정렬이 된다. 예시) 성별이 M이고 몸무게가 70 넘는 회원들을 height 기준으로 오름차순 정렬 예시) 섭팡에 가입한 연도를 기준으로 가장 최근에 가입한 사람부터 내림차순으로 정렬하고, 같은 연도에 가입한 사람들은 다시 이메일 주소를..
데이터베이스 정리 6 - 여러가지 조건 방법 특정 조건의 칼럼을 조회하려면 WHERE문을 많이 사용한다. WHERE문을 사용해서 여러가지 조회 방법을 알아보겠다. 1. 부등호 >= member 테이블에서 나이가 27살 이상인 회원들만 조회가 되었다. 이렇게 WHERE문 뒤에 부등호를 사용하여 조회할 수 있습니다. 이외에 부등호 !, = 같지 않다, 아닌 IN = 이중에 있는~ _ = 한 글자를 나타냄 2. BETWEEN 나이가 20살에서 29살까지인 회원들이 조회가 되었다. BETWEEN 문은 A부터 B까지의 뜻으로, 위 구문은 나이가 20살부터 29살까지를 나타내는 것이다. 3. NOT 나이가 20대를 제외한 회원들이 조회되었다. NOT은 ~이 아닌 의 뜻으로, 위 구문은 나이가 20대가 아닌 로우들을 조회하라는 의미이다. 4. DATE sign..
데이터베이스 정리 5 - SQL문 작성 1. SQL 문 끝에는 항상 세미 콜론을 사용하여야 한다. SQL 문법 상 세미콜론 ; 은 하나의 SQL 문을 종결하는 단위이다. SELECT : 테이블의 데이터를 조회할 때 사용하는 구문이다. FROM : 어느 테이블에서부터 데이터를 조회할 것인지 나타내기 위해 사용하는 구문이다. * : asterisk의 약자로 각 로우의 모든 칼럼들의 값을 보여 달라는 뜻이다. 밑에 처럼 굳이 *를 안 쓰고 내가 보고 싶은 칼럼의 이름들만 적어 사용할 수 있다. 만약 특정 조건을 만족하는 로우들만 조회하고싶은 경우 where문을 사용하여 특정 조건을 만족하는 로우를 조회할 수 있다. 지금 위 구문은 email 칼럼 값이 taehos@hanmail.net인 로우를 출력하는 구문이다. 2. SQL 문 안에는 공백이나 개..