MS SQL기초  SQL 기본 구문과 SQL 표현법

 

 

 

 

SQL 기본 구문 이해하기


 

데이터베이스와 테이블

하나의 데이터베이스는 기본적으로 한개 이상의 테이블을 가지고 있습니다. 그리고 각각의 테이블은 이름(ex, member, notice)에 의해 구분됩니다. 그리고 테이블 안에는 하나 이상의 레코드(row)가 포함되어야 합니다

[출처] SQL 기본 구문|작성자 진격의 파파

 

SQL 표현법

데이터베이스에서 이루어져야할 대부분의 작업을 SQL 명령문으로 실행해야 합니다.

아래 구문은 위 member 테이블의 내용을 가지고 오는 명령문입니다.

select * from member;

 

SQL 뒤에 나오는 세미콜론(;)

대부분의 데이터베이스에서는 SQL 구문의 끝에 세미콜론을 찍어주어야 구문이 실행이 됩니다. 그리고 세미콜론은 SQL 구문을 분리할 수 있습니다. 

 

기본적인 SQL 명령어

SELECT - 데이터베이스에서 내용을 추출함
UPDATE - 데이터베이스의 내용을 수정함
DELETE - 데이터베이스의 내용을 삭제함
INSERT INTO - 데이터베이스에 내용을 삽입함
CREATE DATABASE - 데이터베이스를 만듬
ALTER DATABASE - 데이터베이스를 수정함
CREATE TABLE - 테이블을 만듬
ALTER TABLE - 테이블을 수정함
DROP TABLE - 테이블을 삭제함
CREATE INDEX - 키값을 만듬
DROP INDEX - 키값을 지움

 


블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 

SQL 기초 학습 / SQL이란?

 

 

 

웹프로그래머가 알아야할 것들은?

 

프로그램의 공부는 정말 끝이 없는듯 합니다.

웹프로그램만 하더라도 공부해야 할 것들이 JSP, ASP, PHP, Database, Javascript, jQuery, SQL, CSS, HTML 등등 그 이외에도 더 많이 있지만 저렇게 많은 공부를 해야 인터넷이라는 공간에 집을 지을수 있습니다.

 

SQL 언어가 중요하고 필수적으로 알아야 하는 이유는 데이터베이스를 조작하고 엑세스할수 있기 때문입니다. 인터넷에 있는 모든 글은 데이터베이스에 저장되게 되는데 SQL 언어를 모르면 앙꼬없는 찐빵이겠죠. 

 

SQL 은 아래 내용처럼 많은 것들을 할 수 있습니다.

- SQL은 데이터베이스에 대해 쿼리를 실행할 수 있습니다
- SQL은 데이터베이스에서 데이터를 검색 할 수 있습니다
- SQL은 데이터베이스에 레코드를 삽입 할 수 있습니다
- SQL은 데이터베이스의 레코드를 업데이트 할 수 있습니다
- SQL은 데이터베이스에서 레코드를 삭제할 수 있습니다
- SQL은 새 데이터베이스를 만들 수 있습니다
- SQL은 데이터베이스에 새 테이블을 만들 수 있습니다
- SQL은 데이터베이스의 저장 프로 시저를 만들 수 있습니다
- SQL은 데이터베이스에서 뷰를 만들 수 있습니다
- SQL 테이블, 프로 시저 및 뷰에 대한 권한을 설정할 수 있습니다

 

SQL 언어는 표준 언어이지만 데이터베이스 마다 각각 사용법이 조금씩 다릅니다. 그렇지만 표준을 준수하기 위해서 기본적인 명령어는 똑같이 사용됩니다. 예를들어서 SELECT, UPDATE, DELETE, INSERT, WHERE 처럼 말이죠.

 

PHP 포스팅을 하면서 SQL에 대해 조금 다루긴 했지만 이번 SQL 포스팅에선 좀더 구체적으로 SQL에 대해서 알아보기로 하겠습니다. 

우선 SQL 소개 부분이니 여기까지만 설명을 드리고 다음 포스팅에선 SQL Syntax 에 대해서 포스팅하겠습니다.

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,


오늘은 SQL 의 SUM() 함수에 대하여 학습하겠습니다 

sum() 함수는 어떤 숫자 열의 총 합계를 보여줍니다.

기본적인 구문은

select SUM(column_name) as sum_column from table_name;

위와 같은 구문을 실행하면 column_name 의 모든 내용을 더한 값이 출력됩니다.

 

간단한 테이블을 하나 만들어서 직접 값을 구해보겠습니다.

아래는 member 테이블이라고 가정하고 사람들의 모든 나이를 더해보겠습니다.

 id

 name

 age

 1

 20

 2

 30

 3

 

 40

나이에 해당하는 age의 값을 더하는 구문을 만듭니다.

select SUM(age) as sum_age from member;

위와 같이 구문을 만들고 실행을 하면 20+30+40 이렇게 모든 내용을 더한 내용이 출력됩니다.

그래서 출력되는 내용은 90가 나오게 됩니다.

 

물론 특정 내용에 해당하는 값을 더하기 위해선 sql 구문에 where 조건절을 만들어 값을 가져올 수 있습니다.

크게 어려운점 없으니 응용해보시기 바랍니다.

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

SQL 기본 구문

 

데이터베이스와 테이블

하나의 데이터베이스는 기본적으로 한개 이상의 테이블을 가지고 있습니다. 그리고 각각의 테이블은 이름(ex, member, notice)에 의해 구분됩니다. 그리고 테이블 안에는 하나 이상의 레코드(row)가 포함되어야 합니다.

 예를들어 회원(member) 테이블의 기본적인 모습은 아래와 같습니다.

 

 id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 user1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 user 2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

user 3

 3333

 이철수

 34

 010-3333-3333

 test3@test.com

 4

 user 4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

위 테이블 구성은 4개의 레코드를 가지고 있고 7개의 열(id, user_id, user_pwd, name, age, phone, email)을 가지고 있습니다.

 SQL 표현법

데이터베이스에서 이루어져야할 대부분의 작업을 SQL 명령문으로 실행해야 합니다.

아래 구문은 위 member 테이블의 내용을 가지고 오는 명령문입니다.

select * from member;

 SQL 뒤에 나오는 세미콜론(;)

대부분의 데이터베이스에서는 SQL 구문의 끝에 세미콜론을 찍어주어야 구문이 실행이 됩니다.

그리고 세미콜론은 SQL 구문을 분리할 수 있습니다. 

 

기본적인 SQL 명령어

SELECT - 데이터베이스에서 내용을 추출함
UPDATE - 데이터베이스의 내용을 수정함
DELETE - 데이터베이스의 내용을 삭제함
INSERT INTO - 데이터베이스에 내용을 삽입함
CREATE DATABASE - 데이터베이스를 만듬
ALTER DATABASE - 데이터베이스를 수정함
CREATE TABLE - 테이블을 만듬
ALTER TABLE - 테이블을 수정함
DROP TABLE - 테이블을 삭제함
CREATE INDEX - 키값을 만듬
DROP INDEX - 키값을 지움

 

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 
SQL이란 ?


 
SQL 소개  SQL 

프로그램의 공부는 정말 끝이 없는듯 합니다.

웹프로그램만 하더라도 공부해야 할 것들이 JSP, ASP, PHP, Database, Javascript, jQuery, SQL, CSS, HTML 등등
그 이외에도 더 많이 있지만 저렇게 많은 공부를 해야 인터넷이라는 공간에 집을 지을수 있습니다.

SQL 언어가 중요하고 필수적으로 알아야 하는 이유는 데이터베이스를 조작하고 엑세스할수 있기 때문입니다.
인터넷에 있는 모든 글은 데이터베이스에 저장되게 되는데 SQL 언어를 모르면 앙꼬없는 찐빵이겠죠. 

SQL 은 아래 내용처럼 많은 것들을 할 수 있습니다.

♥ - SQL은 데이터베이스에 대해 쿼리를 실행할 수 있습니다
♥ - SQL은 데이터베이스에서 데이터를 검색 할 수 있습니다
♥ - SQL은 데이터베이스에 레코드를 삽입 할 수 있습니다
♥ - SQL은 데이터베이스의 레코드를 업데이트 할 수 있습니다
♥ - SQL은 데이터베이스에서 레코드를 삭제할 수 있습니다
♥ - SQL은 새 데이터베이스를 만들 수 있습니다
♥ - SQL은 데이터베이스에 새 테이블을 만들 수 있습니다
♥ - SQL은 데이터베이스의 저장 프로 시저를 만들 수 있습니다
♥ - SQL은 데이터베이스에서 뷰를 만들 수 있습니다
♥ - SQL 테이블, 프로 시저 및 뷰에 대한 권한을 설정할 수 있습니다

 SQL 언어는 표준 언어이지만 데이터베이스 마다 각각 사용법이 조금씩 다릅니다.
그렇지만 표준을 준수하기 위해서 기본적인 명령어는 똑같이 사용됩니다.
예를들어서 SELECT, UPDATE, DELETE, INSERT, WHERE 처럼 말이죠.

 

PHP 포스팅을 하면서 SQL에 대해 조금 다루긴 했지만
이번 SQL 포스팅에선 좀더 구체적으로 SQL에 대해서 알아보기로 하겠습니다. 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

[SQL연산자] LIKE, 와일드카드, SQL정렬 (오름차순, 내림차순) 
 


LIKE와 와일드카드

 

 LIKE 연산자는 검색하려는 값을 정확히 모를 경우 사용하는 연산자이다. 형식은 아래와 같다.
"where 컬럼명 LIKE 검색내용"
 검색 내용에는 와일드카드와 같이 사용된다. 와일드카드에는 "_"와 "%"가 있다.
 _는 하나의 문자에 어떤 값이 와도 상관없다는 의미이고,
 %는 문자가 없거나 하나 이상의 문자에 어떤 값이 와도 상관없다는 의미이다.
 와일드카드를 사용하면 특정 문자나 문자열을 포함한 데이터를 조회할 수 있다.(대부분 와일드카드 사용 시 %를 사용하게 된다.) 예를 들어 네이버 검색창에 오라클이라는 내용을 검색하면 오라클이라는 문자열을 포함한 여러 내용들이 검색된다.
 기존 방식으로 scott 계정 emp 테이블의 앞 글자가 A로 시작하는 사원들을 검색하기 위해서는 사원의 이름을 풀내임으로 모두 적어줘야 한다.

 


select * from emp where ename='ALLEN' or ename='ADAMS';
 


 하지만 like 연산자와 와일드카드를 이용하면 간단하게 검색이 가능하다. LIKE와 와일드카드를 이용한 예제들을 확인해 보자.

 

select * from emp where ename like 'A%'; --A로 시작하는 사원명 검색
select * from emp where ename like '%E'; --E로 끝나는 사원명 검색
select * from emp where ename like '%A%'; --A라는 문자가 들어가는 모든 사원 검색
select * from emp where ename like '_A%'; --두번째 문자가 A인 사원 검색


정렬(오름차순, 내림차순)

 

 정렬은 데이터를 오름차순이나 내림차순으로 검색할 수 있도록 하는 방법이다. 예를 들어 자료실에서 최신 순으로 조회를 하거나 오래된 순으로 조회를 하거나 추천 순으로 검색할 때 사용된다. 정렬을 사용하는 형식은 아래와 같다.
 오름차순은 "order by 컬럼명 asc"를 사용하고 내림차순은 "order by 컬럼명 desc"를 사용한다. 이때 asc는 기본값이므로 생략이 가능하다. 오름차순 및 내림차순에 따른 정렬 순서는 아래 표와 같다.


 예제를 통해서 알아보자.


select * from emp order by hiredate desc; -- 최근 입사한 순으로 데이터 출력
select * from emp where deptno=10 order by sal desc; -- 10번 부서의 급여가 높은 순으로 데이터 출력
select * from emp where sal > 2000 order by ename asc; -- 급여가 2000보다 많은 사원들의 이름순으로 출력
 


 이때 정렬을 하였지만 동일한 데이터가 있을 경우 여러 번 정렬을 추가할 수 있다. 형식은 "order by 칼럼명 정렬 방식, 칼럼명 정렬 방식"이다. 

 

select * from emp order by deptno asc, sal desc; -- 부서번호 순으로 정렬 후 급여가 많은 순으로 정렬
select * from emp order by deptno asc, ename asc; -- 부서번호 순으로 정렬 후 이름순

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,


[SQL강좌] SELECT DISTINCT 구문 

 

SQL 구문에서 중복된 값을 배제하고 고유의 값을 가져오고 싶을 경우 Distinct 를 사용합니다. 
이와 비슷한 의미로 Group by 구문이 있는데 간단하게
예제 구문만 비교하고 추후 포스팅에서 설명하기로 하겠습니다. 

 
데이터베이스에 데이터를 저장하다 보면 중복되는 값이 종종 들어갑니다.
예를들어 회원의 정보를 입력받고 저장되는 구문을 프로그래밍 할 경우
이름의 중복이 있을수도 있고, 나이의 중복이 있을수도 있습니다.
그외 여러가지 경우가 있는데 그럴때 중복된 데이터를 배제하고 데이터를 가져오고 싶을경우

select DISTINCT name from member;

위 처럼 데이터베이스에 명령을 하면 됩니다.

위의 명령을 아래의 "member" 테이블에 적용시키면

중복된 이철수, 김영희를 제외하면서 한명으로 인식하고 출력됩니다.

 

위에서 group by 에 관해 잠깐 설명했었는데 group by 의 경우

select name from member group by name asc;

select name from member group by name desc;

group 말 그대로 그룹을 지어라는 의미입니다. 그래서 그룹끼리 묶이게 되는 것이죠.

그리고 asc, desc (내림차순, 오름차순) 는 정렬을 어떻게 할지에 대한 구문입니다.

이 부분도 추후 더 상세히 포스팅하겠습니다.

어쨋든 Distinct는 중복을 제거하고 고유한 값만 가져오는 함수이며,

Group by 는 그룹을 지어서 가져오는 함수 입니다.

우선 여기까지만 설명하고 추후 Group by 포스팅에서 더 상세히 설명하겠습니다.

 



 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 SQL 의 SELECT 구문 예제 연습

 

SELECT 구문은 데이터베이스의 내용을 선택하는데 사용합니다. 
 

select 구문은 기본적으로 두가지 방식으로 데이터를 선택할 수 있습니다.

 
첫번째 예시

SELECT * FROM table_name;

위 예시구문은 선택된 테이블의 모든 값을 불러오는 구문이고

두번째 예시

SELECT column_name,column_name2 FROM table_name;

위 예시구문은 선택된 테이블중에서 column_name,column_name2 의 값만 불러오는 구문입니다.

테이블에 데이터가 많을때 데이터의 로딩이라던지 속도를 높이기 위해 두번째 예시구문을 많이 사용합니다.

첫번째 구문같은 경우는 테이블의 내용이 그다지 많지않고 속도에 크게 영향을 끼치지 않을경우 사용합니다.

 

개인적으로 SQL 구문은 두번째 구문을 사용하시길 추천드리고 싶지만 프로그램 코딩하다보면

칼럼의 내용을 일일이 다 적기가 불편할 경우도 많이 있습니다.

적절히 두 구문을 섞어가며 사용하시길 바랍니다.

 "member" 라는 테이블에 값이 들어있다고 가정해봅시다

select user_id, name, age from member;

 위 SQL 구문의 내용은 이미 짐작하시겠지만 member 라는 테이블에서 user_id, name, age 값만 불러옵니다.

 select * from member;

 위 SQL 구문은 member 테이블에서 모든 칼럼의 내용을 불러들입니다.

 오늘은 간단하게 SELECT 여기 까지만 정리하고 다음 포스팅에서는 SELECT DISTINCT 구문 관련해서 알아보겠습니다.

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

SQL 기본 구문

데이터베이스와 테이블

하나의 데이터베이스는 기본적으로 한개 이상의 테이블을 가지고 있습니다. 그리고 각각의 테이블은 이름(ex, member, notice)에 의해 구분됩니다. 그리고 테이블 안에는 하나 이상의 레코드(row)가 포함되어야 합니다.

 예를들어 회원(member) 테이블의 기본적인 모습입니다.
 

위 테이블 구성은 4개의 레코드를 가지고 있고 7개의 열(id, user_id, user_pwd, name, age, phone, email)을 가지고 있습니다.

 SQL 표현법

데이터베이스에서 이루어져야할 대부분의 작업을 SQL 명령문으로 실행해야 합니다.

아래 구문은 위 member 테이블의 내용을 가지고 오는 명령문입니다.

select * from member;

 

SQL 뒤에 나오는 세미콜론(;)

대부분의 데이터베이스에서는 SQL 구문의 끝에 세미콜론을 찍어주어야 구문이 실행이 됩니다. 그리고 세미콜론은 SQL 구문을 분리할 수 있습니다. 

 기본적인 SQL 명령어

SELECT - 데이터베이스에서 내용을 추출함
UPDATE - 데이터베이스의 내용을 수정함
DELETE - 데이터베이스의 내용을 삭제함
INSERT INTO - 데이터베이스에 내용을 삽입함
CREATE DATABASE - 데이터베이스를 만듬
ALTER DATABASE - 데이터베이스를 수정함
CREATE TABLE - 테이블을 만듬
ALTER TABLE - 테이블을 수정함
DROP TABLE - 테이블을 삭제함
CREATE INDEX - 키값을 만듬
DROP INDEX - 키값을 지움

 


블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 

[프로그래밍기초] break문

 

break문은 if,switch,for,while문등에서
break문을 만나면 바로 빠져나가는 명령문 입니다.

즉 1에서 7부터 출력하게 프로그래밍 했는데 7일때
break문을 실행되도록 했다면 7부터는 출력이 되지 않습니다.
이유는 break문은 수행중이던 조건문이나 반복문을 빠져나가버리기 때문이죠.
위의 예제에서 continue를 break로 변경하여 결과를 확인해 보도록 하겠습니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>프로그래밍</title>
<style type="text/css">
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js" ></script>
<script type="text/javascript">
  for(a = 1; a <= 10; a++){
    if(a == 7){
      break;
    }
    document.write(a+"<br />");
  }
</script>
</head>
<body>
</body>
</html>


위의 결과에서 보면 7부터는 출력이 되지 않는걸 볼 수 있습니다.
7을 출력할 차례에 브레이크문을 만났기 때문입니다.

 

 

위 결과값은 1 2 3 4 5 6

7을 출력할 차례에 브레이크문을 만났기 때문입니다

위 내용을 천천히 한번 더 따라해보세요 자주쓰이는 구문입니다. 수고하셨네요 !

 

직장을 다니면서 투잡으로 하셔도 월급만큼 수익을 받을 수 있는 곳을
소개합니다. 제가 하고 있으니까요 한 번 도전해 보세요

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,