본문 바로가기

[MY-SQL] 날짜함수 - DAYOFWEEK(date) : 해당 날짜의 요일을 숫자로 반환한다. 일요일은 1, 토요일은 7 이다. - 예 : select DAYOFWEEK('1998-02-03'); - WEEKDAY(date) : 해당 날짜에 대한 요일을 반환한다. 월요일은 0, 일요일은 6 이다. - 예 : select WEEKDAY('1997-10-04 22:23:00'); - DAYOFYEAR(date) : 해당 날짜의 1월 1일부터의 날수를 반환한다. 결과값은 1에서 366 까지이다. - 예 : select DAYOFYEAR('1998-02-03'); - YEAR(date) : 해당 날짜의 년을 반환한다. - 예 : select YEAR('98-02-03'); - MONTH(date) : 해당 날짜의 월을 반환한다. -.. 더보기
[MY-SQL] 3개의 테이블 조인(join)하기 1. 먼저 두개의 테이블을 조인 select 과목.이름, 과목.교수번호, 교수.이름, 교수.학과번호 from 과목, 교수 where 과목.교수번호 = 교수.번호 2. 조인된 테이블에 다른 테이블을 추가. 이때 외래키를 조건절에서 잘 조인해줘야한다. select 과목.이름, 과목.교수번호, 교수.이름, 교수.학과번호, 학과.번호, 학과.이름 from 과목,교수,학과 where 과목.교수번호 = 교수.번호 and 교수.학과번호 = 학과.번호 3.필요속성만 출력 select 과목.이름, --과목.교수번호, 교수.이름, --교수.학과번호, --학과.번호, 학과.이름 from 과목.교수번호 = 교수.번호 and 교수.학과번호 = 학과.번호 항상 생각해야 할 것은 두개의 테이블에서 존재하는 공통속성이다. 즉 수퍼키.. 더보기
[MY_SQL] where절과 having절의 차이 SQL구문을 처음 공부하던 당시, where절과 having절의 차이를 잘 몰랐는데요. 왜냐하면 두 구절이 비슷한 성격의 '조건절'이었기 때문이었죠. 그렇다면 where절과 having절이 어떤 차이가 있는지 살펴보겠습니다. 1. WHERE select * from 테이블명 where 조건절 위와 같은 방법으로 where 조건절을 사용합니다. 항상 from뒤에 위치하고 조건에는 다양한 비교연산자들이 사용되어 구체적인 조건을 줄 수 있습니다. 2. HAVING select * from 테이블명 group by 필드명 having 조건절 위와 같은 방법으로 having 조건절을 사용합니다. 항상 group by뒤에 위치하고 where 조건절과 마찬가지로 조건에는 다양한 비교연산자들이 사용되어 구체적인 조건을.. 더보기
[MY-SQL] join SQL에서 조인(JOIN)은 여러 테이블을 어떠한 조건에 의해 하나의 테이블 정보처럼 불러들일 때 사용됩니다. 그리고 조인(JOIN)은 각 테이블의 연결 고리같은 일치하는 필드값이 있어야만 사용이 가능합니다. 아래의 예를 들어 설명하겠습니다. 예) 학적 테이블(Select * from 학적;)   학번 이름 학과 학년 071048 홍길동 101 3 061000 권율 102 1 051001 강감찬 103 2 학과 테이블(Select * from 학과;) 학과코드 학과 담당교수 101 컴퓨터 공학 고길동 102 전자통신 안철수 103 컴퓨터프로그래밍 김제동 학적 테이블과 학과 테이블이 있습니다. 2개의 테이블을 조인(JOIN)을 이용하여, 학적 테이블의 학번, 이름, 학과 학년과 학과 테이블의 학과, 담.. 더보기
[MY-SQL] 날짜 함수( ADDDATE, DATE_ADD, CURDATE, CURTIME, NOW ) ADDDATE 는 DATE_ADD 의 동의어로 지정한 날짜에 EXPR 를 더한 값을 반환하는 역할을 합니다. SELECT ADDDATE(date, INTERVAL EXPR); 예제 (ex #1 # 42일를 더한 값을 반환받습니다. mysql> SELECT DATE_ADD('1998-01-02', INTERVAL 42 DAY); -> '1998-02-02' mysql> SELECT ADDDATE('1998-01-02', INTERVAL 42 DAY); -> '1998-02-02' 예제 (ex #2 # 1달를 더한 값을 반환받습니다. mysql> SELECT DATE_ADD('1998-01-02', INTERVAL 1 MONTH); -> '1998-02-02' 예제 (ex #3 # 1년을 더한 값을 반환받습.. 더보기