안녕하세요. 오늘은 테이블 결합에 대해서 포스팅하려고 합니다. 테이블 결합에는 크게 '내부 결합'과 '외부 결합'이 있습니다. 1. 내부 결합( INNER JOIN ) 두 테이블간의 조인 조건을 만족하는 행만 결과 값으로 반환합니다. 집합에서 예를 들면, 교집합이라고 간단하게 생각하시면 이해하기가 쉽습니다. 사용하는 방법은 아래와 같습니다. SELECT * FROM 테이블 명1 INNER JOIN 테이블 명2 ON 결합조건 위의 구문을 보시면, INNER JOIN이 사용되었는데, 여기서 INNER는 '안쪽'이라는 의미이며, JOIN은 '연결시킨다'라는 의미입니다. 즉, 'INNER JOIN'은 내부결합이라는 의미가 됩니다. INNER JOIN에서는 ON을 사용하여 결합조건을을 지정합니다. 그럼 간단한 예..
안녕하세요. 오늘은 집합 연산에 대해서 포스팅 하려고 합니다. 지금까지 진행했던 SQL 명령은 대부분 '하나의 테이블'을 사용해왔습니다. 오늘은 '여러 개의 테이블'을 사용해 테이터를 검색하는 방법에 대해 알아보겠습니다. 1. SQL과 집합 집합이라고 하면 보통 벤다이어 그램을 많이 떠올리실 겁니다. 벤다이어 그램에서는 하나의 원이 곧 하나의 집합입니다. 원 안에는 몇가지 요소가 포함되어 있는데 원 안의 숫자들을 요소라고 합니다. 그리고 데이터베이스에서는 테이블의 행이 요소에 해당하며, 행은 여러 개의 열로 구성되는 경우도 있으므로 수치상으로는 복수의 값이 존재합니다. 하지만, 집합의 요소라는 측면에서 보면 하나의 행이 하나의 요소가 됩니다. 즉,SELECT 명령을 실행하면 데이터베이스에 질의하며, 그 ..
안녕하세요. 오늘은 데이터베이스 객체 중의 하나인 뷰(View)에 대해서 포스팅하려고 합니다. 이번 포스팅에서는 뷰를 정의하고, 작성 및 삭제하는 방법에 대해서 알아보겠습니다. 뷰(View)? 데이터베이스 객체란 테이블이나 인덱스 등 데이터베이스 안에 정의하는 모든 것을 말합니다. 뷰 역시 데이터베이스 객체 중 하나입니다. 이처럼 데이터베이스 객체로 등록할 수 없는 SELECT 명령을 객체로서 이름을 붙여 관리할 수 있도록 한 것이 뷰입니다.따라서, 뷰를 참조하면 그에 정의된 SELECT 명령의 실행 결과를 테이블처럼 사용할 수 있습니다. 뷰는 테이블처럼 취급할 수 있지만 '실체가 존재하지 않는다'라는 의미로 '가상 테이블'이라 불리기도 합니다. SELECT 명령으로 이루어지는 뷰는 테이블처럼 데이터를 ..
안녕하세요. 오늘은 '색인'이라고도 불리는 인덱스(index)에 대해서 알아볼 것이며, 인덱스는 데이터베이스 객체 중 하나입니다. 이번 포스팅에서는 인덱스가 무엇인지, 그 역할과 구조는 어떻게 이루어졌는지 알아보겠습니다. 인덱스? 인덱스는 테이블에 붙여진 '색인'이라 할 수 있습니다. 인덱스의 역할은 검색 속도의 향상이며, 여기서 '검색'이란 SELECT 명령에 WHERE 조건을 지정하고 그에 일치하는 행을 찾는 일련의 과정을 말합니다. 테이블에 인덱스가 지정되어 있으면 효율적으로 검색할 수 있으므로 WHERE로 조건이 지정된 SELECT 명령의 처리 속도가 향상됩니다.인덱스의 구조도 목차나 색인이 제목, 키워드별 페이지 번호가 적혀 있듯이, 데이터베이스의 인덱스에는 검색 시에 쓰이는 키워드와 대응하는 ..
안녕하세요. 오늘은 제약사항에 대해서 포스팅 해보려고 합니다. 우선 '제약 조건'의 의미에 대해서 알아보고 간단한 예제를 통해 제약 조건에 대해서 알아보겠습니다. 제약조건(Constraint)? 제약조건(Constraint)이란, 데이터의 무결성을 지키기 위해 제한된 조건을 의미합니다. 즉, 데이터를 삽입할 때 무조건적으로 삽입되는 것이 아니라 어떠한 조건을 만족했을 경우에만 데이터가 삽입되도록 제약을 할 수 있는 것이라고 생각하시면 됩니다. 우선 기본적인 제약 조건들의 사용법에 대해서 알아보겠습니다. // 제약조건 확인하기DESC 데이터베이스 명.테이블 명; // 제약조건 삭제ALTER TABLE [테이블 명] DROP CONSTRAINT [제약조건 이름];ALTER TABLE [테이블 명] DROP ..
안녕하세요. 실무에서 개발을 진행하면서 쿼리문을 짜다 보면, 서브 쿼리문을 짤 때가 있는데, 오늘은 서브쿼리에 대해서 알아보고 간단한 예제를 통해 포스팅해보려고 합니다. 서브쿼리 ? 서브쿼리는 SELECT 명령에 의한 데이터 질의로, 상부가 아닌 하부의 부수적인 질의를 의미하며 상황에 따라서 다양하게 사용할 수 있습니다. // 간단한 서브쿼리 예 SELECT * FROM 테이블 WHERE ( SELECT * FROM 테이블2 )SELECT * FROM ( SELECT * FROM 테이블 )SELECT * FROM 테이블1 INNER JOIN ( SELECT * FROM 테이블2 ) ON 테이블1.a = 테이블2.a 이와 같이 많은 곳에서 이용할 수 있습니다. 그럼 간단한 예제를 통해 살펴보도록 하겠습니다..
안녕하세요. 오늘은 MySQL의 대표적인 집계함수에 대해서 포스팅하려고 합니다.SQL은 데이터베이스라 불리는 '데이터의 집합'을 다루는 언어입니다. 이 같은 집합의 개수나 합계가 궁금하다면 SQL이 제공하는 집계함수를 사용하여 간단하게 구할 수 있습니다. 대표적인 집계 함수는 아래와 같습니다. // 집계 함수 COUNT(집합) // 행 개수 SUM(집합) // 합계 AVG(집합) // 평균 MIN(집합) // 최소 값 MAX(집합) // 최대 값 1. COUNT로 행 개수 구하기 COUNT 함수는 인수로 주어진 집합의 개수를 구해서 반환합니다. 기본적인 예를 통해 확인해보겠습니다. sample51테이블을 통해 알아볼 것이며 기본적으로 들어가 있는 데이터는 다음과 같습니다. 여기서 COUNT함수를 사용하여..
안녕하세요. 지금까지는 기존에 테이블에 존재하는 데이터를을 원하는 형태로 변형하게 조회(SELECT)하는 방법에 대해서 알아보았고 오늘은 직접 데이터를 추가, 갱신, 삭제하는 방법에 대해서 기본적인 예를들어 포스팅하려고 합니다. 1. 행 추가하기 - INSERT데이터베이스의 테이블에 행을 추가하기 위해서는 아래와 같이 INSERT 명령문을 사용합니다. INSERT INTO 테이블명 VALUES(값1, 값2, 값3, ....) // 값이 많을수록 계속 나열해주면 됩니다. INSERT INTO 테이블명(열1, 열2, ...) VALUES(값1, 값2, ...) // 명시적으로 어떤 열에 어떤 값이 들어가는지 지정해주는 방법 그럼, 위의 INSERT 명령문에 대한 내용을 간단한 예시를 통해 확인해보도록 하겠습..
- Total
- Today
- Yesterday