2013.12.12 13:25
 


 

암호화( pwdencrypt, pwdcompare )

 

CREATE TABLE [dbo].[test_encrypt](
 [ussn1] [varchar](50) NULL,
 [ussn2] [varbinary](max) NULL,     --자료형 확인
 )

 

decalre @ussn1 int

decalre @ussn2 int

 

set @ussn1 = 830325

set @ussn2 = 1111111

 

 

insert into  test_encrypt (ussn1, ussn2)

values (@ussn1,pwdencrypt(@ussn2))

 

select * from test_encrypt

where pwdcompare('1111111',ussn2) =1  --참이면 1

 

pwdencrypt 는 복호화가 없으며 값의 비교만 pwdcompare으로 가능.

 
 
Posted by 대학교닷컴 대학교닷컴
2013.12.06 10:47
 


 

SQL 이란 무엇인가?

 

SQL(S-Q-L 로 각 문자를 따로 발음하거나 붙여서 SEQUEL, 즉 시퀄이라고 발음 함)은 Structured Query Language(구조적 쿼리 언어)의 약자이다.

SQL 은 데이터베이스와의 통신을 위해 특별히 고안된 언어이다.

 

영어나 한국어, 또는 Java나 Visual Basic과 같은 프로그래밍 언어와는 달리 SQL 은 단지 몇 개의 단어로만 구성된다. 한가지 분명한 목적, 즉 데이터베이스에서 데이터를 읽고 데이터베이스에 데이터를 쓰기 위한 용도로 만들어졌기 때문이다.

 

SLQ이 가진 장점?

1. SQL은 특정한 데이터베이스 회사에서만 사용하는 점유물이 아니다. 대부분의 DBMS에서 SQL을 지원하므로 한 언어를 배워 모든 데이터베이스에서 활용할 수 있다.

 

2. SQL은 배우기 쉽다. 각 문은 이해가 쉬운 영어 문장과 닮아 있으면 많지도 않다.

 

3. 간단하지만 매우 강력한 언어이다. 효과적으로 각 요소를 사용하면 매우 복잡하고 정교한 데이터베이스 작업을 수행할 수 있다.

 
 
Posted by 대학교닷컴 대학교닷컴
2013.12.04 17:29
 


 

기존 데이터 컬럼에 있는 날짜 지우고 NULL 값 넣기

 

UPDATE 사용 방법입니다.

UPDATE ['테이블 명'] SET ['컬럼 명'] = '['수정할 데이터 값']' WHERE ['컬럼 명'] = ['기본 데이터 값']

 

select * from 테이블명

where 1=1
and user_id in ( '조건1, '조건2')


select top 10 * from 테이블명

where 1=1
and crd_ord_code in ('조건1','조건2')

 

begin tran
update 테이블명

set pmt_wdate = NULL
where crd_ord_code = '조건1'
rollback

 

 

 

 
 
Posted by 대학교닷컴 대학교닷컴
2013.11.26 13:18
 


 

SQL 서브쿼리에 대해

 

SELECT 에 사용되는 서브쿼리의 특징과 주의점

SELECT 절에 사용하는 서브쿼리는 스칼라 서브쿼리라고 합니다.

SELECT 절에 기술하였으므로 결과에 대한 검색이됩니다.

따라서 해당 서브쿼리의 반환 행의 개수도 반드시 0 또는 1이어야 합니다.

보통 스칼라서브쿼리의 경우  기준정보 성격의 마스터테이블에 주로 활용합니다.

이는 보통 코드에 맞는 명칭을 검색할때 주로 사용한다고 보시면 됩니다.

 

FROM 에 사용되는 서브쿼리의 특징과 주의점

FROM절에 사용하는 서브쿼리는 인라인뷰라고 합니다.

보통 Query의 재정의라고 하는데요. 원시정보에 대해 어떤 결과를 만들기 위해서

원시데이터를 가공하여 새로운 형태의 정보를 만들어 내어 이를 기준으로

FROM절을 재정의하여 만들어 나가게 됩니다.

아래처럼 예처럼 단순하게 부분적인 컬럼 발취나 * 를 통한 인라인뷰는 큰 효과를 얻을수 없습니다.

FROM ( SELECT * FROM 테이블 )

FROM ( SELECT 이름,전화 FROM 테이블 WHERE 조건절)

 

WHERE 에 사용되는 서브쿼리의 특징과 주의점

보통 Filter Subquery라고 합니다.

상수값이 아닌 어떤 그룹에 속하는 2이상의 정보를 조건으로 활용하고자 할때 사용됩니다.

조건식에 in 이나 Exists 등의 구문에 주로 활용됩니다.

주의사항은 불필요한 Sacan으로 I/O 속도 저하를 가져올수 있습니다.

특히 Exists 구문에 할용된 서브쿼리의 경우 SELECT 절에 특정 컬럼을 정의하실 필요없습니다.

예) 바른예

~~

FROM 테이블1 a

WHERE Exists ( SELECT'*'

                 FROM 테이블2 b

                WHERE b.컬럼 = a.컬럼 )

예) 틀린예

~~

FROM 테이블1 a

WHERE Exists ( SELECT*

                 FROM 테이블2 b

                WHERE b.컬럼 = a.컬럼 )

 

from절을 이용하여 카운트 구하기
select X.ord_code
,  isnull (A ,0 )  +   isnull (B ,0 )  +  isnull (C ,0 )  AS TOT
,  isnull (A ,0 ) A
,  isnull (B ,0 ) B
,  isnull (C ,0 ) C

from Xtendus.DT_Frm_order X ,
(
 select ord_code, count(*) as A
 from Xtendus.DT_Frm_order_item
 where 1=1
 and ord_state = '0'
 group by ord_code
)  A ,
(
 select ord_code, count(*) as B
 from Xtendus.DT_Frm_order_item
 where 1=1
 and ord_state = '1'
 group by ord_code
)  B  ,
(
 select ord_code, count(*) as C
 from Xtendus.DT_Frm_order_item
 where 1=1
 and ord_state = '2'
 group by ord_code
) C
WHERE  X.ord_code *= A.ord_code
and X.ord_code *= B.ord_code
and X.ord_code *= C.ord_code


 

 
 
Posted by 대학교닷컴 대학교닷컴

티스토리 툴바