본문 바로가기

Develop/Database & SQL

(20)
LEFT JOIN 으로 다른 TABLE의 COUNT 구하기 SELECT post.id, post.title, user.id AS uid, username, COALESCE(x.cnt,0) AS comment_count FROM `post` LEFT JOIN post_user ON post.id = post_user.post_id LEFT JOIN user ON user.id = post_user.user_id LEFT OUTER JOIN (SELECT post_id, count(*) cnt FROM post_comments GROUP BY post_id) x ON post.id = x.post_id ORDER BY post_date DESC
myBatis keyword like 검색 select * from table_name where upper(title) like '%' || #{keyword} || '%' ; 위와 같이 like 앞뒤로 '%'를 붙여주면 됨
java myBatis 날짜 조회 관련 날짜형식 조회할때 java 단에서 String 으로 넘기고 myBatis에서 to_date()로 형을 맞춰서 조회 예) #java String startDate = "1999-01-23"; #myBatis Select * from [Table_Name] Where reg_date = to_date(#{startDate},'YYYY-MM-DD') + 1;
Oracle 날짜 관련 함수 select /* 오늘날짜 시분초 포함*/ to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual select /* 오늘날짜 00시 00분 00초 */ to_char(trunc(sysdate),'yyyy/mm/dd hh24:mi:ss') from dual select /* 오늘날짜 00시 00분 00초 위와 동일*/ to_char(trunc(sysdate,'dd'),'yyyy/mm/dd hh24:mi:ss') from dual select /* 이번달 1일 00시 00분 00초 */ to_char(trunc(sysdate,'mon'),'yyyy/mm/dd hh24:mi:ss') from dual select /* 올해 1월 1일 00시 00분 00초 */ to_char..
Oracle SQL Developer Setting TNS 설정도구 -> 환경 설정 -> 데이터베이스 -> 고급Tnsnames 디렉토리를 명시 적으로 설정 Memorysqldeveloper\ide\bin\ide.conf Default ValueAddVMOption -Xms128MAddVMOption -Xmx800M
Ampersand나 특수 문자를 갖는 데이타를 insert하는 방법 -- 테스트 테이블 생성 SQL> CREATE TABLE test_str( val varchar2(10) ); -- 테이블에 아래와 같이 특수문자를 인서트 할경우 SQL> INSERT INTO test_str VALUES('Q&A'); a의 값을 입력하십시오: -- 이런 문장이 나옵니다.. -- 특수문자를 갖는 데이터를 인서트 하기 위해서는 -- 다음과 같은 세 가지 해결 방법이 있습니다. SET DEFINE OFF -- SQL*Plus에서 SET DEFINE OFF나 SET SCAN OFF를 실행하여 -- Substitution Variable(&)을 Turn Off시킨다. SQL> SET DEFINE OFF SQL> INSERT INTO test_str VALUES('Q&A'); SQL> SELECT..
[MySQL] 데이터베이스 명명 규칙 공통소문자를 사용한다.단어를 임의로 축약하지 않는다.register_date (O) / reg_date (X)가능하면 약어의 사용을 피한다.약어를 사용해야 하는 경우, 약어 역시 소문자를 사용한다.동사는 능동태를 사용한다.register_date (O) / registered_date (X)TABLE단수형을 사용한다.이름을 구성하는 각각의 단어를 underscore 로 연결하는 snake case 를 사용한다.교차 테이블 (many-to-many) 의 이름에 사용할 수 있는 직관적인 단어가 있다면 해당 단어를 사용한다.적절한 단어가 없다면 relationship을 맺고 있는 각 테이블의 이름을 "_and_" 또는 "_has_" 로 연결한다.예article, movie : 단수형VIP_member : 약어..
오라클 쿼리 테스트 Select CASE WHEN TRIM(2-1) IS NOT NULL THEN 'A'WHEN 2 IS NULL THEN 'B'ELSE 'C'END as testfrom dual