본문 바로가기

연구_고민/PHP & MySql32

무한 카테고리 생성!! 선택하세요. 2007. 8. 13.
기초강의 모음 http://www.iamyoojin.com/board/list.php?bbs_id=iamyoojin_5_1 2007. 8. 13.
join INNER JOIN (교집합) INNER JOIN(NORMAL JOIN)은 여러 테이블의 조건들이 모두 만족했을때만 데이타를 보여주게 되며 한쪽 테이블의 조건이라도 만족하지 않으면 데이타를 보여주지 않습니다. LEFT OUTER JOIN (교집합) LEFT OUTER JOIN(교집합)은 여러 테이블의 조건들이 모두 만족하지 않더라도 데이타를 보여줍니다. ※ 조건이 만족하지 않는 테이블의 데이타값은 "NULL" 값으로 출력된다. 간단한 조인 예제 개요 출석 테이블을 만든다 가정하면 normal join 으로는, 한번도 출석하지 않은 학생은 목록에도 보이지 않게 되지만, outer join 으로는 모두 볼 수 있게 됩니다. 예제 [테이블 생성] drop table book; create table book .. 2007. 8. 13.
아아.. 드디어 성공....쿼리문 한방으로 순위를 가져올수 있는 방법!!! ㅠㅠ 응용문 ls_1의 값을 id 번호를 받아서 순위를 나타냄. mysql> select (select count(*) from std_point where ls_1>=sp.ls_1) as rank,sp.ls_1,sp.id from std_point sp where id=3; +------+------+----+ | rank | ls_1 | id | +------+------+----+ | 3 | 54 | 3 | +------+------+----+ 1 row in set (0.00 sec) 대략 10만건정도 해서 돌려봣더니 하나뽑는데 0.08초 정도 걸리더라는 ㄱ-;; 2007. 8. 12.
PHPEdit-2.12.0.4946 PHP IDE에디터 꽤 쓸만하던데? 단지 상용이라..크랙을좀 먹어야 한다는거?? 2메가씩 분할했더니 좀 많네 ㄱ- 2007. 8. 12.
sql공부중...Join std_data +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(10) | NO | | 0 | | | class | varchar(10) | NO | | 0 | | | add | varchar(10) | NO | | 0 | | +-------+-------------+------+-----+---------+-------.. 2007. 8. 11.
++ MySQL 연산자 (사칙연산, 비트연산, 논리연산) - 05/10/22 10:46 사칙연산 - 예 : select (((3 + 2) * 4) / (2 - 1)); - 주의 : 0 으로 나눌경우 NULL 반환한다. 연산은 BIGINT 의 결과값을 가지게 되므로 BIGINT 의 범위를 벗어나게 되면 잘못된 값을 반환한다. 비트연산 - | : 비트연산 OR 의 연산자이다. - 예 : select 29 | 15; - & : 비트연산 AND 의 연산자이다. - 예 : select 29 & 15; - : 비트연산 OR 의 연산자이다. - 예 : select 4 >> 2; - BIT_COUNT(N) : 해당 값의 비트수를 반환한다. - 예 : select BIT_COUNT(29); - 주의 : 연산은 BIGINT 의 결과값을 가지게 되므로 BIGINT 의 범위를 벗어나게 되면 잘못된 값을 반환한다.. 2007. 8. 9.
++ MySQL 내부연산 (비교연산) - 비교연산 - 비교연산의 결과값은 1(TRUE), 0(FALSE), 또는 NULL 을 반환한다. 비교연산은 숫자와 문자열 모두에서 가능하다. 필요에 따라 자동적으로 숫자로 또는 문자열로 변환된다. - 두개의 인자 모두가 NULL 일 경우 연산의 결과값은 NULL 이 된다. - 두개의 인자 모두가 문자열이면 문자열로 비교된다. - 두개의 인자 모두가 숫자이면 숫자로서 비교된다. - 16진수는 숫자와 연산하지 않을 경우 바이너리로 처리된다. - 다른 대부분의 경우 연산은 floating-point 로 된다. - 기본적으로, 문자열 비교는 대소문자구분을 하지 않는다. 예 : select * from tbl_a where (a > 0) and (b 보다크다 값 > 60 = 크거나 같다 .. 2007. 8. 9.
++ MySQL 연산자 (형변환, 컨트롤함수) - 형변환 연산자 - BINARY : 일반적인 문자열은 대소문자를 구분하지 않고 조건을 검색하지만 BINARY 를 사용할 이진연산을 하기때문에 대소문자 검색을 해야할 경우 편리하다. - 예 : select BINARY "a" = "A"; 컨트롤 함수 - IFNULL(expr1,expr2) : expr1 이 NULL 이 아니면 expr1 을 반환하고 그렇지 않을 경우 expr2 를 반환한다. 문자열, 숫자 모두 사용가능하다. - 예 : select IFNULL(1/0,10); - IF(expr1,expr2,expr3) : 만약 expr1 이 1(TRUE) 이면 expr2 를, 그렇지 않으면 expr3 을 반환한다. - 예 : select IF(1>2,2,3); select IF(strcmp('test','te.. 2007. 8. 9.
++ MySQL 함수정리 (수학함수) - - ABS(X) : 절대값을 반환한다. 음수에 대해서는 양수를 반환한다. - 예 : select ABS(-32); - SIGN(X) : 양음수인지를 반환한다. 즉 SIGN(-32) 는 -1, SIGN(0) 은 0, SIGN(234) 은 1 을 반환한다. - 예 : select SIGN(-32); - MOD(N,M) : 나머지 값을 반환한다. - 예 : select MOD(29,9); - FLOOR(X) : 해당 인자의 값을 넘지 않는 최대 정수값을 반환한다. 예를 들어, select FLOOR(-1.23) 는 -2 를 반환한다. - 예 : select FLOOR(1.23); - CEILING(X) : 해당 인자보다 작지 않은 최소정수를 반환한다. 예를 들어, select CEILING(-1.23) 은 -.. 2007. 8. 9.
++ MySQL GROUP BY 와 같이 사용되는 함수 - COUNT(expr) : GROUP BY 로 묶인 부분에 대한 합계를 반환한다. - 예 : select student.student_name,COUNT(*) from student,course where student.student_id=course.student_id GROUP BY student_name; - 참고 : 한개의 테이블에 대해, WHERE 절이 없는 경우 COUNT(*) 가 최적화 되어 있어 매우 빠르다. - 예 : select COUNT(*) from student; - AVG(expr) : GROUP BY 로 묶인 부분에 대한 평균값을 반환한다. - 예 : select student_name, AVG(test_score) from student GROUP BY student_nam.. 2007. 8. 9.
++ MySQL 날짜 관련 함수 - 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) : 해당 날짜의 월을 반환한다. -.. 2007. 8. 9.