database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 2111 게시물 읽기
No. 2111
저번에 제질문에많은 관심 보여주셔서 감사하면서..드디어 시작했습니다..ㅎㅎ 첫번째질문입니다
작성자
임종석(Lock커)
작성일
2005-07-15 13:46ⓒ
2005-07-15 13:48ⓜ
조회수
3,462

use pubs
select title_id, title, type, pub_id, price, ytd_sales, pubdate
from titles
where title in ('computer')
order by type
잘못됐나요..ㅡㅡ?? 암만 봐두 몰르겠어요..ㅠ_ㅠ

잘못된 부분이 있으면 좀 가르쳐 주세요..부탁..(__)

 

msqsl2000인데...연습하는도중에 발생한문제입니다

다른것은 다 돼는데...title중에..computer라는 단어가 들어 있는것만 가져오는건데

왜 않돼죠..ㅡ _ㅡa

도움좀 주세요...쌩짜초보의 질문이었습니다..(__)

이 글에 대한 댓글이 총 14건 있습니다.

use pubs
go

select title_id, title, type, pub_id, price, ytd_sales, pubdate
from titles
where title in ('But Is It User Friendly? ')
order by type

 

인의 용법및 기본적인 것은 bol 참고 하십시요

모든게 있습니다.

잘 모르겠다구요?

한글판을 까세요

 

석이님이 2005-07-15 13:53에 작성한 댓글입니다. Edit

현재 한글판이라는...ㅠ_ㅠ

저기..2행에..go가 들어가는 이유는 머죠..ㅡㅡ?

진짜루 쌩짜 초보라서..ㅎㅎㅎ

책보구 공부하는중에 몰라서 질문 올린거거든요..ㅡ,.ㅡ;;

아...답답하네요..ㅎㅎ 석이님 얼마전에 제 질문에 답두 해주셨던거 같은데..^^ 답답하시더라구 초보자 갈쳐주신다 생각하시고 답변좀 부탁드릴께욤..^^;;

 

아참..석이님 껄루 실행해두 결과가 않나온다는..ㅡ,.ㅡ;;

이거 먼일이래요..ㅠ_ㅠ

임종석(Lock커)님이 2005-07-15 13:55에 작성한 댓글입니다.
이 댓글은 2005-07-15 13:56에 마지막으로 수정되었습니다.

간단하게 딜리미터 라고 생각하시면 됩니다.

oracle 이나 mysql 은 ; 를 쓰잖아요

그런데 mssql 은 go 를 쓰기도 하고

사용자 정의로 바꿀 수 있기도 합니다.

 

실행 구분자 라고 생각 하시면 될겁니다.

 

열심히 하시고 책을 끝까지 5번 정도 읽으세요 ^^;

 

석이님이 2005-07-15 13:57에 작성한 댓글입니다. Edit

하다가 막히면 꼭 해결해야만 하는 이놈에 성질머리땜에..ㅠ_ㅠ

석이님 댓글 감사하구요...일단 석이님말씀대루 한 대여섯번 읽고나서

해봐야 겠네요..ㅎㅎ

그럼 좋은 하루 행복한 하루 보내세요~! ^____________^

임종석(Lock커)님이 2005-07-15 13:59에 작성한 댓글입니다.

제가 질문하고 혼자 쌩쇼하다..찾았습니다..ㅡ,.ㅡ;;

 

use pubs
select title_id, title, type, pub_id, price, ytd_sales, pubdate
from titles
where title like '%computer%'
order by type
일케 하면 돼네요...근데..특정 단어 추출해내는건데..

in 이 아니구..like 를 써야 하네욤..ㅡㅡ?

왜 이렇져..ㅠ_ㅠ...아~~궁금한게 웰케많은거얌..ㅠ_ㅠ

mssql공부 2틀째입니다..(__)

임종석(Lock커)님이 2005-07-15 14:09에 작성한 댓글입니다.

연산자에 대해 하나만 말씀드리고 싶습니다.

중학교때 집합을 배웠던 것이 기억납니다.

교집합 : 캡이라고 부르기도 했던 어떤 부분인지는 다들 아실겁니다.

그리고

합집합 : 컵이라고 부르기도 했던..

 

바로 그부분입니다.

지금 in이라고 하는 부분은 Intersection의 약자로 해석하시는 것이

연산자에 대한 도움이 될겁니다.

그리고 당연

합집합은 union all, union 인데요 이는 우리가 합집합의 갯수를 구할때

n(a) + n(b) - n(a n b) 이렇게 했던거 기억나시나요

바로 이렇게 교집합을 빼주는 게 바로

union 연산입니다.

 

그리고 n(a) + n(b) 로 하는 것은 union all입니다.

 

나아가 집합에서 공집합이라고 불렀던 바로 그 개념있죠,

없는데 항상 부분집합의 갯수를 세면 있다고 하고 했던 바로 그 공집합

그게 database에서는 null 이라고 부르는 것이라고 생각하시면 됩니다.

 

like와 in은 다른 연산자라는 것은 밑의 댓글을 쭈욱 읽어보니 알겠더군요.

 

like을 좀더 확장시키게 되면 나중에 Full Text Search(전문검색)을 만나게 됩니다.

Full text search를 사용하시면 Contain이란 연산을 사용하시게 되는데

아마도 그게 종석님께서 젤 처음 이야기 했던 like와 같은 것이며

좀더 나아가 유의어(의미론적으로 비슷한..)를 검색해내는

near연산도 있습니다.

 

그러나 이건 full Text를 구성하시고 나서 사용해야 한다는 점을 유의하십시요..

 

주절주절했던 이야기이니 참고하시기 바랍니다.

 

여리님이 2005-07-15 14:23에 작성한 댓글입니다. Edit

저두 컵 캡 했었는데 ^^;'

 

석이님이 2005-07-15 14:29에 작성한 댓글입니다. Edit

여리님 댓글 감사하구요..^^;;

제가 중학교때부터 수학을 포기한몸이라...잘 이해는 않가지만...

어쨌는 쬐~~끔은 이해가 가네요..^^;;

친절한 댓글 감사하구요..앞으로도 많은 도움 부탁드립니다...(__)

좋은하루 행복한 하루 보내세요~!

임종석(Lock커)님이 2005-07-15 14:32에 작성한 댓글입니다.

 

여리님께 질문이요..

 

Intersection 이면 교집합인데.. 교집합은 and 연산이 아닌지..

col_name in('a','b','c') 이면  col_name = 'a' or col_name='b' or col_name='c' 이랑 같은것 아닌가요?

 

저는 쉽게 생각해서,  in 은 같은 테이블에서, union 은 다른 테이블의 결과값들의 합집합을 구할 때 쓴다고 생각했는데요,,

 

뭔가 답을 좀... =_=;;

voy님이 2005-07-15 15:32에 작성한 댓글입니다. Edit

in 은 in 일 뿐일것 같습니다.

님 말이 맞습니다.

 

union 은 같은 테이블 에도 할 수 있습니다.

테이블이라는 말은 없다고 해도 좋지 않을까요?

어디에서 가지고 온다. 이렇게 해석해야지요 가져오는 집합에서

라고 해석하는 게 좋을듯 합니다.

 

고정 관념을 버리시면 큰 것이 보일것 같습니다.

 

석이님이 2005-07-15 15:39에 작성한 댓글입니다. Edit

흠.. 역시 개념정의 대한 것은 어렵군요.

(저의 능력밖일지도 모를일입니다.)

 

이를테면 col_name in ('a', 'b', 'c')

이렇게 한다는 것은

col_name이라는 set(집합)이 있는 것을 의미합니다.

그리고 ('a', 'b', 'c')로 구성된 하나의 set이 있음을 간주합니다.

 

col_name in ('a', 'b', 'c')는

col_name이라는 집합에서 a or b or c가 있다면

그 결과를 반환합니다.

 

이 결과의 반환을 두고 개념적으로 정리하면 당연 in은 intersection이 되지 않을까요?

 

in을 intesection으로의 해석은 사견일 뿐이므로 강요는 없습니다.

그럼..

여리님이 2005-07-15 15:46에 작성한 댓글입니다. Edit

석이님.. 이 게시판에서 사시는듯 하네요 ㅋㅋㅋ

union 을 같은 테이블에서 쓸 수 있다는건 압니다.

하지만 한 테이블에서 ,  쿼리를 각자 던져 그 결과값을 합하는 union은 쓸 일이 많지 않지않나요?

 

이곳에서 ms-sql 게시판은 상당히 침울(!?)했었는데,

석이님이 활력소가 되신듯 합니다. ㅋㅋ

앞으로도 잘 부탁드립니다. ^^

 

p.s. 전 고정관념이 있는게 아니라 말을 잘 못한다는.. =_=;;;

아직 고정관념씩이나(!?) 있을 실력도, 경력도 안됩니다.;;

 

아, 그리고  한 테이블에서 union을 쓸 수 밖에 없는 예  좀 알려주십시요 ^^;

voy님이 2005-07-15 15:57에 작성한 댓글입니다. Edit

여리님께,

이해했습니다. ㅋㅋ

집합이라..  여리님, 상당히 재밌는 사람이네요.. (실례려나  ^^;;)

혹시 수학쪽을 좋아하셨는지..

오랜만에 스키마이론에서의 사고방식의 차의를 느꼈습니다. (확신할 순 없지만요 ^^;)

오랜만에 즐겁습니다~  ^^

 

voy님이 2005-07-15 16:09에 작성한 댓글입니다.
이 댓글은 2005-07-15 16:11에 마지막으로 수정되었습니다. Edit

한테이블에서 union 을 쓸 수 밖에 없는 경우

한테이블에서 특정 조건들만 있을경우를 다양하게 뽑아서

결과를 산출해야 할때는 한테이블에서 union 을 쓰는 것이

좋습니다.

 

조건 필드가 다르다면 group by 로 안되는 경우도 있으니 말입니다.

석이님이 2005-07-16 23:39에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2115전국에서 팔린 상품수를 구하고 싶은데.. 쿼리가~~ [1]
쿼리 초보
2005-07-16
2211
2114밑으로된 내역을 옆으로... 갈켜주세요 [4]
2005-07-16
2828
2113링크드 서브 시에 오류 발생입니다. [2]
돈세자
2005-07-15
3839
2111저번에 제질문에많은 관심 보여주셔서 감사하면서..드디어 시작했습니다..ㅎㅎ 첫번째질문입니다 [14]
임종석
2005-07-15
3462
2110Stored Procedure 만 호출 할 수 있는 계정이 가능한가요? [1]
ASP
2005-07-15
3579
2109에디션별 차이점좀 쉽게 설명해주세요 [6]
나그네
2005-07-15
4956
2108세개의 테이블 조인 [4]
qudals
2005-07-15
3348
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다