조만간 쓸일이 있을듯 한데..
현재 까지 알거나 해본건

as 키워드(alias) - oracle에서는 as 없이(그런데 버전에 따라서 SQL 99를 지원하면 as를 넣어주는게 좋다)
rownum 내장 변수 - mysql에서는 limits 사용

정도?

[링크 : http://visionboy.me/main/board_view.php?no=407&page=1&tb_id=bd6]

Posted by 구차니
svn에 비해서 로컬에서 할 수 있는 작업이 더 늘기에 쓰기 어렵다는데
clone을 통한 다른 revision에 대한 history가 빠르다거나, 인터넷이 끊어져도 커밋할 수 있다거나 등의
장점이 있어서 한번 써보려고 조사중!

[링크 : https://groups.google.com/forum/#!topic/xper/kt1znmz82JA]
[링크 : http://blog.doortts.com/141]

'프로그램 사용 > Version Control' 카테고리의 다른 글

tortoiseHG / mercurial 사용하기  (0) 2014.06.25
tortoiseHG , git vs mercurial 관련 문서  (0) 2014.06.08
google code - svn, mercurial  (0) 2014.05.24
mercurial SCM  (0) 2014.05.02
git 간편 설명서  (0) 2014.03.06
Posted by 구차니
가장 많이 쓰는건 ASC / DESC 이지만..
값이 null이 있을 경우
null이 먼저 출력되고 양수 / 0 / 음수로 출력이 되어 의도한 것과 다르게 나왔다.
그래서 nulls last를 해줌으로서
원하는 대로 값을 출력할 수 있게 된다.

ORDER BY { column-Name | ColumnPosition | Expression }
    [ ASC | DESC ]
    [ NULLS FIRST | NULLS LAST ]
    [ , column-Name | ColumnPosition | Expression 
    [ ASC | DESC ]
    [ NULLS FIRST | NULLS LAST ]
    ] * 

ASC
Specifies that the results should be returned in ascending order. If the order is not specified, ASC is the default.
DESC
Specifies that the results should be returned in descending order.
 
[링크 : http://docs.oracle.com/javadb/10.6.2.1/ref/rrefsqlj13658.html


+ 2014.06.02 추가
order by col1, col2 desc 라고 할 경우
col1은 asc col2는 desc로 정렬된다.
위에 BNF을 보면 컬럼명에 따라서 각각 desc nulls last 를 적용해야 한다. 

'프로그램 사용 > oracle' 카테고리의 다른 글

oracle select  (0) 2014.06.17
sql outer join  (0) 2014.06.01
sql group by  (0) 2014.05.30
sql distinct  (0) 2014.05.29
oracle 대소문자 구분없이 검색하기  (0) 2014.05.28
Posted by 구차니
아우터 조인은 왜 쓰나 했는데,
모든 필드가 not null이 아니기에
값이 존재하지 않는 필드까지 포함해서 값을 꺼내야 할 경우(그러니까 목록이라던가?)
상당히 유용하게 사용이 되어진다.

[링크 : http://whdvy777.tistory.com/entry/view-뷰-생성-수정-인라인뷰inline-view-TopN-실습]
[링크 : http://wiki.gurubee.net/pages/viewpage.action?pageId=6259015]


'프로그램 사용 > oracle' 카테고리의 다른 글

oracle select  (0) 2014.06.17
sql order by  (0) 2014.06.01
sql group by  (0) 2014.05.30
sql distinct  (0) 2014.05.29
oracle 대소문자 구분없이 검색하기  (0) 2014.05.28
Posted by 구차니
프로그램 사용/oracle2014. 5. 30. 17:41
group by는 그룹별로 정렬하는 것인데

어떻게 사용하냐에 따라서
distinct + sum을 한번에 처리할 수 있는 좋은 명령어이다!!

아래는 장르별로 추천수를 합산하여 장르별 점수를 내림차순으로 정렬한다.
가장 인기있는 장르 순서를 출력하는 sql 문이라고 해야 하려나?
<select id="selectTopGenre" resultClass="java.lang.String">
SELECT GENRE_1, SUM(SCORE)
FROM MUSIC_DB, MUSIC_SCORE
WHERE MUSIC_SCORE.MUSICID = MUSIC_DB.MUSICID AND MUSIC_SCORE.SCORE = 1
GROUP BY GENRE_1
ORDER BY SUM(SCORE) DESC
</select> 

아무튼 특이한건.. order by의 경우 score로 필드가 아닌 sum(score)라고 해야 제대로 정렬이 된다 .
score는 개별 필드고 sum(score)는 합산된 결과에 대한 필드라서 이려나? 

[링크 : http://www.w3schools.com/sql/sql_groupby.asp]


+ 2014.06.01 추가
group by를 사용시에는
select에 group by에서 사용한 항목만 사용이 가능해진다.

[링크 : http://www.itmembers.net/board/view.php?id=oracle&...desc=asc&no=29] group by 
[링크 : http://docs.oracle.com/javadb/10.6.1.0/ref/rrefsqlj32654.html]

'프로그램 사용 > oracle' 카테고리의 다른 글

sql order by  (0) 2014.06.01
sql outer join  (0) 2014.06.01
sql distinct  (0) 2014.05.29
oracle 대소문자 구분없이 검색하기  (0) 2014.05.28
oracle 타입 - nvarchar2 varchar2  (0) 2014.05.20
Posted by 구차니
프로그램 사용/oracle2014. 5. 29. 23:01
distinct 키워드는 결과로 뽑아낼 목록을
집합으로 만들어서 중복을 제거하고 말그대로 '분류'를 뽑아낸다.

예를들어


 장르
 팝
 팝
 클래식
 클래식

을 distinct로 돌리면
팝, 클래식 두개만 나오게 된다.

[링크 : http://www.w3schools.com/sql/sql_distinct.asp]
[링크 : http://technet.microsoft.com/ko-kr/library/ms187831(v=sql.105).aspx]

'프로그램 사용 > oracle' 카테고리의 다른 글

sql outer join  (0) 2014.06.01
sql group by  (0) 2014.05.30
oracle 대소문자 구분없이 검색하기  (0) 2014.05.28
oracle 타입 - nvarchar2 varchar2  (0) 2014.05.20
oracle view  (0) 2014.05.20
Posted by 구차니
sum()의 경우 대개 정수나 실수로 결과가 딱 하나 나오니
그거담을 객체를 별도로 생성하긴 귀찮으니까

int형으로 돌려받으려면 
int나 java.lang.Integer를 resultType으로 하면 된다지만..
<select id="selectCount" resultType="java.lang.Integer"
    select count(*) as cnt from tb_user where id=#{id} 
</select> 

[링크 : http://okjsp.net/seq/217267]

막상해보니 안되서 이리저리 해본결과.. -_-a
resultType 대신 resultClass로 해주면 된다.
<select id="selectSumScore" resultClass="java.lang.Integer" parameterClass="java.util.HashMap">
SELECT SUM(score) FROM MUSIC_SCORE WHERE musicId=#musicId#
</select> 

'프로그램 사용 > ibatis & mybatis' 카테고리의 다른 글

ibatis null  (0) 2014.05.29
ibatis 쿼리에 list 타입 인자로 넣기  (0) 2014.05.28
ibatis / mybatis 데이터가 비어있는 경우(null)  (0) 2014.05.23
ibatis namespace  (2) 2014.05.22
ibatis2 map  (0) 2014.05.21
Posted by 구차니
저번에는 db의 null에 값을 넣어 주었지만
다시 찾아보니 result property에서 nullValue를 지정함으로서 회피할수 있는 방법이 존재한다.

<result property="id" column="id" nullValue="" /> 

[링크 : http://kaludin.egloos.com/2435793]


2014/05/23 - [프로그램 사용/ibatis / mybatis ] - ibatis / mybatis 데이터가 비어있는 경우(null)
Posted by 구차니
<insert>나 <select> 등에서
<iterate>를 이용하여 리스트를 동적으로 sql 문에 넣을 수 있다.

<iterate prepend="AND" property="UserNameList"  open="(" close=")" conjunction="OR">
  username=#UserNameList[]#
</iterate>

[링크 : https://ibatis.apache.org/docs/dotnet/datamapper/ch03s09.html

[링크 : http://blog.naver.com/cain007/170076719]

'프로그램 사용 > ibatis & mybatis' 카테고리의 다른 글

ibatis select sum() resultType / resultClass  (0) 2014.05.29
ibatis null  (0) 2014.05.29
ibatis / mybatis 데이터가 비어있는 경우(null)  (0) 2014.05.23
ibatis namespace  (2) 2014.05.22
ibatis2 map  (0) 2014.05.21
Posted by 구차니
프로그램 사용/oracle2014. 5. 28. 16:23

select * from music_db where lower(TITLE) like lower('%MAN%')
select * from music_db where upper(TITLE) like upper('%MAN%')

select * from music_db where lower(TITLE) like '%man%'
select * from music_db where upper(TITLE) like '%MAN%'

안됨
select * from music_db where TITLE like '%MAN%'
select * from music_db where title like '%man%'

일단. 검색 키워드는 대문자로 올지 소문자로 올지 모르니
무조건 upper나 lower를 해중야 하니
사용가능한 선택지는 실질적으로 두가지뿐이다.


[링크 : http://jhbench.tistory.com/323]

'프로그램 사용 > oracle' 카테고리의 다른 글

sql group by  (0) 2014.05.30
sql distinct  (0) 2014.05.29
oracle 타입 - nvarchar2 varchar2  (0) 2014.05.20
oracle view  (0) 2014.05.20
oracle alter  (0) 2014.05.20
Posted by 구차니