'SQL강좌'에 해당되는 글 39건

  1. 2013.08.21 SQL LIKE 구문
  2. 2013.08.20 SQL TOP,LIMIT, ROWNUM 구문
  3. 2013.08.19 SQL UPDATE, DELETE 구문
  4. 2013.08.16 SQL INSERT INTO 구문
  5. 2013.08.15 SQL ORDER BY 구문
  6. 2013.08.14 SQL AND OR 구문
  7. 2013.08.13 SQL WHERE 구문
  8. 2013.08.12 SQL SELECT DISTINCT 구문 (2)
  9. 2013.08.07 SQL 소개

SQL LIKE 구문

SQL 2013. 8. 21. 18:26

 

 

이번에 포스팅할 내용은 SQL 구문중 LIKE 입니다. 

 

LIKE 연산자는 지정된 패턴을 검색하는데 사용합니다. 예를들어 "나는 지금 블로그에 글을 쓰고 있습니다." 라는 제목으로 글을 저장하고 그 글을 검색할 경우 여러분들은 어떻게 검색어를 칠까요? 블로그? 지금? 글? 등 어떤 패턴을 통해서 검색을 하겠죠.

SQL에서 흔히 사용하는 연산자 "=" 은 무조건 같을때만 검색이 됩니다. 위에서 예를 들은 블로그, 지금, 글 등을 연산자 "=" 을 사용한다면 "블로그 = 나는 지금 블로그에 글을 쓰고 있습니다" 물론 참이 될수가 없습니다. 그렇기에 검색도 되지 않겠죠. 하지만 LIKE 연산자를 사용하면 내용중에 해당하는 단어만 있으면 바로 검색이 됩니다.

 

예제를 통해서 알아보겠습니다.

기본적인 구문은

select * from table_name WHERE column_name LIKE pattern;

 

실제 사용구문

1. select * from table_name where title like '블로그%'

2. select * from table_name where title like '%블로그'

3. select * from table_name where title like '%블로그%'

 

1번 구문은 블로그로 시작되는 모든 값을 검색하여 가져오고

2번 구문은 블로그로 끝나는 모든 값을 검색하여 가져오고

3번 구문은 블로그가 들어있는 모든 값을 검색하여 가져옵니다.

 

아래는 member 테이블이라고 가정하고 LIKE 를 적용하면.

 id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 test1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 test2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

 test3

 3333

 이영수

 34

 010-3333-3333

 test3@test.com

 4

 test4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

 5

 test5

 5555

 김철수

 34

 010-5555-5555

 test5@test.com

 

1. select * from member where name like '김%'

2. select * from member where name like '%수'

3. select * from member where name like '%영%' 

위 3가지의 쿼리문이 있습니다. 감각이 빠른분이라면 위 쿼리문 실행시 무엇이 나올지 벌써 짐작 했으리라 생각됩니다.

1번 쿼리문의 결과값은 이름이 "김"으로 시작하는 사람을 검색합니다. 그래서 영희, 철수의 레코드값이 나옵니다.

2번 쿼리문의 결과값은 이름이 "수"로 끝나는 사람을 검색합니다. 그래서 이영, 김철의 레코드값이 나옵니다.

3번 쿼리문의 결과값은 이름중에 "영"이 들어있는 사람을 검색합니다. 그래서 , 의 레코드값이 나옵니다.

 

이제 어느정도 LIKE 구문에 대해서 이해되었을듯 합니다.

혹시 더 궁금한 사항있으면 쪽지 또는 댓글 주세요 ^^

자~ 그럼 오늘 하루도 마무리 되었네요. 즐거운 프로그래밍 되시고!

행복한 하루 되길 바랍니다 ^^

 

 

'SQL' 카테고리의 다른 글

SQL BETWEEN 구문  (2) 2013.08.23
SQL IN 구문  (10) 2013.08.22
SQL LIKE 구문  (0) 2013.08.21
SQL TOP,LIMIT, ROWNUM 구문  (0) 2013.08.20
SQL UPDATE, DELETE 구문  (0) 2013.08.19
SQL INSERT INTO 구문  (0) 2013.08.16
Posted by 진격의 파파

댓글을 달아 주세요

SQL TOP,LIMIT, ROWNUM 구문

SQL 2013. 8. 20. 09:17

 

 

안녕하세요!! 좋은 아침입니다.

이번 포스팅에서는 가져올 레코드수를 지정할 수 있는 구문에 대해서 알아보겠습니다.

제목에 TOP, LIMIT, ROWNUM 이렇게 3가지를 적은 이유는 데이타베이스마다 구문이 틀리기 때문입니다.

 

MS-SQL : TOP

MY-SQL : LIMIT

ORACLE : ROWNUM

 

 

MS-SQL 예제

1. SELECT TOP 10 number * FROM table_name;

2. SELECT TOP 10 percent * FROM table_name;

// 감이 빠른 분들이라면 벌써 위 구문이 아~ 어떤 내용이구나 라고 이해하셨을듯 합니다.

// 첫 번째 구문은 10개의 레코드를 가져오라는 구문이며, 두 번째는 모든 레코드 중에서 10퍼센트를 가져오라는 구문입니다. 그리고 기본적으로 ORDER BY 구문이 없다면 가장먼저 입력된 테이블의 레코드를 가져오게 됩니다. 다시말하면 기본적으로 오름차순으로 레코드를 가져오게 된다는 뜻입니다.

 

 

MY-SQL 예제

SELECT *  FROM table_name LIMIT 10;

// MY-SQL에서는 LIMIT 구문을 사용하여 레코드를 가져옵니다. 마찬가지로 처음 입력된 값을 기준으로 10개의 레코드를 가져오게 됩니다. PHP에서 MY-SQL을 많이 사용하기 때문에 잘 알아두시기 바랍니다. 참고적으로 정렬을 내림차순으로 바꾸고 싶을 경우

SELECT *  FROM table_name order by column_name desc LIMIT 10; 처럼 order by 구문을 사용하여 변경할 수 있습니다.

 

 

ORACLE 예제

SELECT * FROM table_name WHERE ROWNUM <= 5;

// ORACLE에서는 ROWNUM이라는 구문을 사용하는데 사실 그 쓰임새는 더 복잡합니다. 오라클을 공부하는 분들은 ROWNUM에 대해서 더 많이 찾아보시고 학습을 하는게 좋을듯합니다.

 

 

다음 포스팅에서는 SQL where 구문에서 잠깐 설명했던 like 구문에 대해서 자세히 알아보겠습니다.

그럼 좋은하루 보내길 바랍니다.

 

'SQL' 카테고리의 다른 글

SQL IN 구문  (10) 2013.08.22
SQL LIKE 구문  (0) 2013.08.21
SQL TOP,LIMIT, ROWNUM 구문  (0) 2013.08.20
SQL UPDATE, DELETE 구문  (0) 2013.08.19
SQL INSERT INTO 구문  (0) 2013.08.16
SQL ORDER BY 구문  (0) 2013.08.15
Posted by 진격의 파파

댓글을 달아 주세요

SQL UPDATE, DELETE 구문

SQL 2013. 8. 19. 09:17

 

 

안녕하세요!! 이번 포스팅에서는 SQL update, delete에 대해서 알아보겠습니다. 

 

우선 UPDATE 구문에 대해서 알아보겠습니다.

 

update 는 테이블에서 레코드를 수정하는데 사용하는 구문입니다.

 

UPDATE 예제구문

UPDATE table_name SET
column1 = value1,
column2 = value2, ...
WHERE
some_column = some_value;

// update table_name set 을 선언하고 수정할 칼럼을 적고나서 where 를 사용하여 어떤곳이 수정되어야 하는지 조건문을 적어줍니다. 만약 깜빡하고 where 구문을 적지 않게되면 해당하는 칼럼의 모든 내용이 수정되기 때문에 반드시 주의해서 코딩해야 합니다. 사실 가끔 저도 그런 실수를 한적이 있지만 다행히 백업파일이 있어서 바로 수정을 했습니다. 만약 백업파일이 없었다면....지금 생각해도 식은땀이 ㅎㅎ;;   항상 주의 해야 한다는점 잊지 말기를 바랍니다.

 

아래 테이블 이름을 member 라고 가정하고 수정해보겠습니다.

 id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 test1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 test2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

 test3

 3333

 이철수

 34

 010-3333-3333

 test3@test.com

 4

 test4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

 5

 test5

 5555

 김철수

 34

 010-5555-5555

 test5@test.com

 

UPDATE member SET 
name = '홍길순',
age = 26
WHERE 
id = 1;

// 위 내용은 id 값이 1 인 레코드의 내용중 홍길동을 홍길순으로 25를 26으로 변경하는 구문입니다. 중요한것은 마지막 where 구문입니다. 변경할 내용중 어떤것이 변경되어야 하는지 적어줍니다.

 

 

DELETE 구문

delete 구문은 레코를 삭제합니다.

 

DELETE 예제구문

DELETE FROM table_name
WHERE some_column=some_value;

// delete 구문도 update 구문과 마찬가지로 where 구문이 정말 중요합니다. 만약 여러분이 모든 delete sql 구문을 코딩후 where 구문을 깜빡하고 생략하게 되면 테이블의 모든 레코드가 삭제됩니다. 그래서 항상 주의를 요하는 부분입니다.

 

아래 테이블 이름을 member 라고 가정하고 수정해보겠습니다.

 id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 test1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 test2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

 test3

 3333

 이철수

 34

 010-3333-3333

 test3@test.com

 4

 test4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

 5

 test5

 5555

 김철수

 34

 010-5555-5555

 test5@test.com

 

DELETE FROM member
WHERE id = 3;

// 위 구문은 id 값이 3인 레코드를 삭제하라는 내용입니다.

 

update, delete 둘 다 기본적인 구문을 설명드렸는데 사실 이보다 더 복잡한 구문도 정말 많이 있습니다. 차근차근 공부하시고 응용을 많이 해보기를 바랍니다.

 

그럼 오늘도 즐거운 한주 보내시길 바라며, 즐거운 프로그래밍 되세요!!

 

 

'SQL' 카테고리의 다른 글

SQL LIKE 구문  (0) 2013.08.21
SQL TOP,LIMIT, ROWNUM 구문  (0) 2013.08.20
SQL UPDATE, DELETE 구문  (0) 2013.08.19
SQL INSERT INTO 구문  (0) 2013.08.16
SQL ORDER BY 구문  (0) 2013.08.15
SQL AND OR 구문  (0) 2013.08.14
Posted by 진격의 파파

댓글을 달아 주세요

SQL INSERT INTO 구문

SQL 2013. 8. 16. 14:35

 

 

안녕하세요! 이번 포스팅에서는 SQL INSERT INTO 구문에 대해서 알아보겠습니다.  

사실 INSERT INTO 구문에 들어가기 전에 테이블을 먼저 생성하는것이 순서이겠지만 앞으로 진행할 UPDATE, DELETE 구문과 지금까지의 포스팅 내용은 SQL에 있어서 기본적인 내용이기에 먼저 진행한 후 테이블 생성등에 대해서 추후 포스팅예정입니다.

 

 

기본적으로 SQL 에서 INSERT INTO 구문은 테이블에 레코드를 삽입하는데 사용합니다. 

INSERT INTO 구문은 세 가지 형태로 작성할 수 있습니다.

 

첫 번째 구문은 칼럼 이름을 지정하지 않고 사용합니다.

INSERT INTO table_name
VALUES (value1,value2,value3,...);

// 위 구문을 코딩할때 칼럼값에 정확하게 일치하는지 주의하며 작성을 해야 합니다. 만약 순서가 틀리면 칼럼값에 엉뚱한 값이 들어가게 됩니다.

 

두 번째 구문은 칼럼 이름과 삽입할 값을 모두 지정합니다.

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

// 위 구문은 모든 구문을 다써야 하는 귀찮음이 있지만 첫 번째 구문에 비해 실수는 예방할 수 있을 것이라 생각합니다.

 

세 번째 구문은 INSERT INTO 방식이 아닌 INSERT TABLE_NAME SET 방식입니다.

INSERT TABLE_NAME SET

COLUMN1 = 'VALUE1',

COLUMN2 = 'VALUE2',

COLUMN3 = 'VALUE3',

COLUMN4 = 'VALUE4'

// 위 구문은 제가 실무에서 자주 사용합니다. 왜냐하면 우선 전체적인 코딩을 한 눈에 볼수 있어 편하고 중간중간 조건문을 사용할때 편하기 때문입니다.

 

보통 INSERT 구문과 관련되서 첫 번째 구문과, 두 번째 구문이 많이 보편화 되어있지만 세 번째와 같이도 사용할 수 있다는점 알아두시고 사용하기에 편한 SQL 구문을 선택하여 코딩하시기 바랍니다.

 

다음 포스팅에서는 UPDATE, DELETE 구문을 설명하겠습니다.

UPDATE 구문은 테이블의 내용을 수정하는 명령 구문이며,

DELETE 구문은 테이블의 내용을 삭제하는 명령 구문입니다.

 

무더운 날씨지만 새벽에는 벌써 가을이 온듯 선선합니다. 덥지만 조금만 참으면 금방 지나갑니다.

그리고 즐기세요~ 이 더운 날씨를!!

또 일년 기다려야 하자나요 ㅎㅎ;

'SQL' 카테고리의 다른 글

SQL TOP,LIMIT, ROWNUM 구문  (0) 2013.08.20
SQL UPDATE, DELETE 구문  (0) 2013.08.19
SQL INSERT INTO 구문  (0) 2013.08.16
SQL ORDER BY 구문  (0) 2013.08.15
SQL AND OR 구문  (0) 2013.08.14
SQL WHERE 구문  (0) 2013.08.13
Posted by 진격의 파파

댓글을 달아 주세요

SQL ORDER BY 구문

SQL 2013. 8. 15. 09:57

 

 

 

안녕하세요!! 

이번장에서는 SQL 중에서 order by (정렬) 에 관해서 알아보겠습니다.

order by 는 기본적으로 내림차순과 오름차순으로  나뉘어 집니다.

 

order by column_name de

내림차순이란 10, 9, 8, 7, ....   |   , ㄹ, ㄷ, ㄴ, ㄱ |   Z, Y, X, W, V...

처럼 문자 또는 숫자가 하나씩 내려가는 순서로 정렬되는 것을 말하며 order by column_name desc 를 사용하여 정렬합니다.


order by column_name asc 또는 order by column_name 

그렇다면 오름차순은 당근 그 반대입니다.

즉, 오름차순이란 1, 2, 3, 4, ....  |   ㄱ, ㄴ, ㄷ, ㄹ, ...   |    a, b, c, d, ....

처럼 문자 또는 숫자가 하나씩 올라가는 순서로 정렬되는 것을 말하며, order by column_name asc 를 사용하여 정렬합니다.

그리고 한 가지 팁은 ASC 는 생략이 가능합니다. order by column_name 처럼 사용해도 기본적으로 오름차순으로 정렬이 됩니다.

 

select * from table_name order by column_name asc|desc;

// 위 내용은 기본구문 입니다.

 

아래 member 테이블을 살펴보겠습니다.

 id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 test1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 test2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

 test3

 3333

 이철수

 34

 010-3333-3333

 test3@test.com

 4

 test4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

 5

 test5

 5555

 김철수

 34

 010-5555-5555

 test5@test.com

 6

 test6

 6666

 박영희

 54

 010-6666-6666

 test6@test.com

 7

 test7

 7777

 이순신

 32

 010-7777-7777

 test7@test.com

 8

 test8

 8888

 이해신

 23

 010-8888-8888

 test8@test.com

 9

 test9

 9999

 박찬호

 39

 010-9999-9999

 test9@test.com

 
select * from member order by name desc;
// 위처럼 order by name desc 을 실행시킬 경우 내림차순으로 홍길동부터 정렬되어 김영희로 끝나게 됩니다.
 
select * from member order by name asc;
// 위처럼 order by name asc 을 실행시킬 경우 오름차순으로 김영희부터 정렬되어 홍길동으로 끝나게 됩니다.
 
select * from member order by name , age;
// 갑자기 칼럼값이 두 개가 나와서 당황하셨죠. order by 는 여러개의 칼럽값으로 정렬이 가능합니다. 그래서 위 구문은 이름과 나이로 오름차순하라는 의미 입니다. 그리고 order by  바로 옆 name 이 먼저 나오고 뒤 age 를 썻는데 이것은 이름으로 오름차순 하되 나이순으로 오름차순 하라는 내용입니다. 예를 들어 이름이 만약 같을경우 나이가 적은 사람이 먼저 정렬되겠죠. 그리고 처음 설명드렸듯이 ASC 는 생략이 가능하므로 위의 구문에서는 생략된 표현이라 할 수 있습니다.
공부 하실때 반대로도 코딩을 하면서 여러가지 적용을 하면서 응용해보시기 바랍니다 ^^
 
자 그럼 오늘은 정렬에 대해서 설명드렸고 다음 포스팅에선 테이블에 내용을 삽입할 수 있는 INSERT INTO 구문에 대해서 알아보겠습니다. 그럼 오늘도 즐거운 하루 보내시기 바라고 즐거운 프로그래밍 되세요 ^^

 

'SQL' 카테고리의 다른 글

SQL UPDATE, DELETE 구문  (0) 2013.08.19
SQL INSERT INTO 구문  (0) 2013.08.16
SQL ORDER BY 구문  (0) 2013.08.15
SQL AND OR 구문  (0) 2013.08.14
SQL WHERE 구문  (0) 2013.08.13
SQL SELECT DISTINCT 구문  (2) 2013.08.12
Posted by 진격의 파파

댓글을 달아 주세요

SQL AND OR 구문

SQL 2013. 8. 14. 12:50

 

 

이번 포스팅에서는 SQL 의 AND , OR 연산자에 대해서 설명하겠습니다.  

 

AND 및 OR  연산자는 두 개 이상의 조건에 따라 레코드를 필터링하는데 사용합니다.

첫 번째 조건과 두 번째 조건 모두 해당하면 AND 연산자를 사용하고,

첫 번째 조건과 두 번째 조건 중  하나가 참일경우 OR 연산자를 사용합니다.

 

쉽게 아래 member 테이블의 내용을 보면서 다시 설명하겠습니다.

 id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 test1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 test2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

 test3

 3333

 이철수

 34

 010-3333-3333

 test3@test.com

 4

 test4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

 5

 test5

 5555

 김철수

 34

 010-5555-5555

 test5@test.com

 6

 test6

 6666

 박영희

 54

 010-6666-6666

 test6@test.com

 7

 test7

 7777

 이순신

 32

 010-7777-7777

 test7@test.com

 8

 test8

 8888

 이해신

 23

 010-8888-8888

 test8@test.com

 9

 test9

 9999

 박찬호

 39

 010-9999-9999

 test9@test.com

 

AND

select * from member where name like '박%' AND age > 40;

// 위 구문은 member 테이블에서 이름이 박씨인 사람과 나이가 40 이상인 사람을 검색하는 내용입니다.

// 이처럼 AND 연산자는 두 개의 조건을 모두 만족시켜야 검색이 됩니다.

출력되는 출력문은

박영희 ....

한명만 나오겠죠.

 

OR

select * from member where name like '박%' OR age > 40;

// 위 구문은 member 테이블에서 이름이 박씨인 사람 또는 나이가 40 이상인 사람을 검색하는 내용입니다.

// 이처럼 OR 연산자는 두 개의 조건중 하나만 만족시켜도 검색이 됩니다.

출력되는 출력문은 박씨인 사람과 40이상인 사람 모두 나오게 됩니다.

박영희 ... 

박찬호 ... 

임꺽정 ... 

조건중 하나만 해당이되더라고 검색 조건을 만족하게 되어 세명이 나오겠죠.

 

AND , OR

select * from member name like '이%' and (age > 25 and age < 35);

// 이렇게 두 가지 조건을 모두 사용하여 검색을 할 수도 있습니다.

출력문은

이철수 ...

이순신 ...

 

크게 어려운것은 없으리라 짐작되고 임시로 테이블 하나 만들어서 응용하면서 SQL 프로그램 짜는 방법을 즐겨보시기 바랍니다 ^^

그럼 즐거운 오후 보내시고 즐거운 프로그래밍 되시길 ~~

'SQL' 카테고리의 다른 글

SQL INSERT INTO 구문  (0) 2013.08.16
SQL ORDER BY 구문  (0) 2013.08.15
SQL AND OR 구문  (0) 2013.08.14
SQL WHERE 구문  (0) 2013.08.13
SQL SELECT DISTINCT 구문  (2) 2013.08.12
SQL Select 구문  (0) 2013.08.09
Posted by 진격의 파파

댓글을 달아 주세요

SQL WHERE 구문

SQL 2013. 8. 13. 10:43

 

 

SQL에서 WHERE 구문은 어떤 조건을 검색하는데 사용합니다.  

인터넷 서핑을 하다보면 보통 내가 보고 싶은 또는 찾고 싶은 내용을 가져올때 여러분들은 검색이라는 방법을 사용합니다. 그때  WHERE  구문을 이용해 검색을 하게됩니다. 물론 포털사이트등의 검색조건은 매우 복잡하게(테이블조인, 조건문등) 짜여져 있겠지만 기본은 WHERE 구문이라는 것을 알아두시기 바랍니다.

 

id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 test1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 test2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

 test3

 3333

 이철수

 34

 010-3333-3333

 test3@test.com

 4

 test4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

 5

 test5

 5555

 김철수

 34

 010-5555-5555

 test5@test.com

 6

 test6

 6666

 박영희

 54

 010-6666-6666

 test6@test.com

 7

 test7

 7777

 이순신

 32

 010-7777-7777

 test7@test.com

 8

 test8

 8888

 이해신

 23

 010-8888-8888

 test8@test.com

 9

 test9

 9999

 박찬호

 39

 010-9999-9999

 test9@test.com

 

위와 같이 회원(member) 테이블이 있다고 가정해봅시다.

1. 나이(age)가 34살인 사람을 검색 할 경우

select * from member where age = 34;

// 기본구문은 테이블 이름뒤에 where 구문을 적고 그뒤 조건문(age = 34)을 작성합니다.

// 중요한것이 대부분의 데이터베이스는 테이블에서 age 칼럼의 형식이 숫자(int)면 따옴표(') 없이 작성해도 무방하며, 문자(varchar, char) 형식이라면 따옴표(')가 들어가야 합니다.

 

 

2. 이름이 박씨인 사람만 검색 할 경우

select * from member where name like '박%';

// 마찬가지로 기본 형식은 같지만 뒤의 조건문이 "=" 이 아니고 "like" 로 되어있습니다.

// "like" 는 해당하는 단어를 포함하는 내용을 모두 검색합니다.

// like 형식은 "%박", "박%", "%박%" 이렇게 총 3개의 조건을 사용할 수 있습니다.

// "%박" 의 의미는 내용중 "박"으로 끝나는 구문을 검색하며

// "박%" 의 의미는 내용중 "박"으로 시작하는 구문을 검색하며

// "%박%" 의 의미는 내용중 "박"이 포함되어있는 구문을 검색합니다.

 

 

3. 나이가 30살 이상인 사람을 검색할 경우

select * from member where age >= 30;

// 어떤 내용에 대해서 이상, 이하, 초과, 미만 등을 검색할 경우 부등호(>=, <=, >, <)를 써서 나타냅니다.

 

 

4. 나이가 30살 이상 40살 이하인 사람을 검색할 경우

select * from member where age >= 30 and age <= 40;

select * from member where between 30 and 40;

// 이렇게 두 가지 방법이 존재합니다. 부등호 구문은 아마도 3번을 이해하셨으면 바로 알지 않을까 싶고 문제는(?) between 구문인데 between A and B 이렇게 사용합니다. 일단 외워두시기 바랍니다.

 

 

5. 나이(age)가 34살이 아닌 사람을 검색 할 경우

select * from member where age <> 34;

// 어떤 내용을 빼고 값을 가져올 경우 "<>" 를 사용합니다. 즉 "age <> 34" 는 "age 칼럼중 34가 아닌" 이라는 뜻입니다.

 

 

6. 김영희, 박영희를 두명을 동시에 검색 할 경우

select * from member where name in ('김영희' , '박영희');

// 문자가 들어갔으니 따옴표(')를 써서 감싸주며, "in"이라는 구문을 사용하여 두명의 이름을 써줍니다.

 

 

이렇게 where 구문을 이용하여 여러가지 방식으로 검색을 할 수 있습니다. 기본적인 내용이지만 기초를 철저히 익히면 응용하는것은 시간문제라고 생각합니다.

다음 포스팅에서는 SQL AND , OR 구문에 대해서 설명하겠습니다.

그럼 오늘도 즐거운 하루 보내시고 즐프되시길 바랍니다. ^^

'SQL' 카테고리의 다른 글

SQL ORDER BY 구문  (0) 2013.08.15
SQL AND OR 구문  (0) 2013.08.14
SQL WHERE 구문  (0) 2013.08.13
SQL SELECT DISTINCT 구문  (2) 2013.08.12
SQL Select 구문  (0) 2013.08.09
SQL 기본 구문  (0) 2013.08.08
Posted by 진격의 파파

댓글을 달아 주세요

SQL SELECT DISTINCT 구문

SQL 2013. 8. 12. 09:44

 

 

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

 

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

select DISTINCT name from member;

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

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

 id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 test1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 test2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

 test3

 3333

 이철수

 34

 010-3333-3333

 test3@test.com

 4

 test4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

 5

 test5

 5555

 이철수

 34

 010-5555-5555

 test5@test.com

 6

 test6

 6666

 김영희

 54

 010-6666-6666

 test6@test.com

 7

 test7

 7777

 이순신

 32

 010-7777-7777

 test7@test.com

 8

 test8

 8888

 이해신

 23

 010-8888-8888

 test8@test.com

 9

 test9

 9999

 박찬호

 39

 010-9999-9999

 test9@test.com

 

김영희

박찬호

이순신

이철수

이해신

임꺽정

홍길동

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

 

 

위에서 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 포스팅에서 더 상세히 설명하겠습니다.

'SQL' 카테고리의 다른 글

SQL AND OR 구문  (0) 2013.08.14
SQL WHERE 구문  (0) 2013.08.13
SQL SELECT DISTINCT 구문  (2) 2013.08.12
SQL Select 구문  (0) 2013.08.09
SQL 기본 구문  (0) 2013.08.08
SQL 소개  (0) 2013.08.07
Posted by 진격의 파파

댓글을 달아 주세요

  1. 작가 남시언 2013.08.12 18:51 신고  댓글주소  수정/삭제  댓글쓰기

    앗! 좋은 정보!ㅎㅎㅎ

SQL 소개

SQL 2013. 8. 7. 11:06

 

 

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

웹프로그램만 하더라도 공부해야 할 것들이 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 에 대해서 포스팅하겠습니다. 

 

 

'SQL' 카테고리의 다른 글

SQL AND OR 구문  (0) 2013.08.14
SQL WHERE 구문  (0) 2013.08.13
SQL SELECT DISTINCT 구문  (2) 2013.08.12
SQL Select 구문  (0) 2013.08.09
SQL 기본 구문  (0) 2013.08.08
SQL 소개  (0) 2013.08.07
Posted by 진격의 파파

댓글을 달아 주세요