목록분류 전체보기 (69)
개발자 항해
그룹함수 1. 그룹함수란? 행그룹을 조작해서 하나의 결과값을 반환하는 함수 2. 그룹함수의 종류 min, max, sum, avg, count 3. 그룹함수의 특징 null값은 작업하지 않는다. 1) min, max : 모든 데이터타입에 사용가능하다. 사용 예제는 아래와 같다. "min(날짜)" 는 가장 오래된 날짜이고 "max(날짜)"는 가장최근 날짜이다. "min(이름)"을 하게 되면 오름차순중 제일 첫번째 "max(이름)"은 오름차순중 제일 마지막 이름을 알려준다. 2) sum, avg : 숫자 데이터에만 사용가능하다. 3) count 함수 ① count(*) : null O, 중복값 O ② count(expr) : null X, 중복값 O ③ count(distinct exper) : null X..
단일 컬럼 서브쿼리 vs 다중 컬럼 서브쿼리 > 단일행 서브쿼리 다중행 서브쿼리 (단일행비교연산자) (다중행비교연산자) 단일컬럼 서브쿼리 다중컬럼 서브쿼리 (비쌍비교방식) (쌍비교방식) 1) 다중컬럼 서브쿼리 + 다중행 서브쿼리 위 서브 쿼리만 따로 실행 시켜보면 다중 컬럼과 다중 행 값이 넘어간다. 그값을 메인쿼리 where절 뒤에 다중 컬럼으로 받고 필요한 값을 select하여 실행시키면 결과 값이 아래와같다. 위 쿼리의 뜻은 부서별 최소 급여(min(salary))를 받는 사원의 사원아이디(employee_id)와 이름(first_name), 부서아이디(department_id), 급여(salary)값을 출력하라는 것이었다. 자기 밑에 부하직원이 없는 사원, 즉 자기 자신이 매니저가 아닌 사원을 출..
싱글톤 패턴식 싱글톤 패턴을 하나하나 분석해보자 각각의 의미를 간단히 얘기해보자면 private로 생성자 접근을 차단하고 static메서드를 통해 유일한 인스턴스를 반환한다는 의미 아래는 복잡한 설명을 없앤 원래 식이다. 유일한 인스턴스반환? 그렇다면 주소값이 같을까? static이므로 클래스명.메서드명으로 불러 반환되는 인스턴스를 car1 car2에 담고 주소값출력 및 (==) 연산자로 비교해본다. 주소값이 같고 결과 값은 true가 반환 되었다. 그렇다면 노멀 클래스를 생성해서 인스턴스를 불러왔을때는 싱글톤과 결과가 다를까? 예시를 위해 노멀 클래스 생성. 그리고 각각 인스턴스를 생성하여 n1, n2변수를 찍어보면 노멀클래스는 힙 안에 각각 n1,n2인스턴스가 따로 생성되고 그로인해 n1,n2에는 서..
다중행 서브쿼리란? 서브쿼리로부터 메인쿼리로 여러 개의 값(여러 행)이 반환되는 경우 다중행 서브쿼리인 경우 메인쿼리에 다중행비교연산자를 준비해야함 - 다중행 비교 연산자 종류 IN => ( = , OR ) NOT IN => ( , AND) =ANY => ( =, OR ) (==) IN과 동일함 >ANY => ( >, OR ) : 최소값보다 크면 TRUE >=ANY => ( >=, OR ) : 최소값보다 크거나 같으면 TRUE ( ( =, AND ) : 연산자의 성격이 없어서 사용안함 >ALL => ( >, AND ) : 최대값보다 크면 TRUE >=ALL => ( >=, AND ) : 최대값보다 크거나 같으면 TRUE (
서브쿼리(subquery)란? 쿼리구문 안에 또다시 쿼리 구문이 포함되어 있는 형태이다. 메인쿼리실행전 먼저 한번 실행되고 group by 절을 제외한 쿼리구문 어디에도 작성이 가능하다. 특히, where절 또는 having절에 많이 사용된다. 조건절에 사용될때 연산자의 오른쪽에 위치를 시키고 괄호로 묶어서 사용된다. 서브쿼리 유형으로는 단일행 서브쿼리, 다중행서브쿼리가 있다. 1. 단일행 서브쿼리 서브쿼리로부터 하나의 결과값(한 행)이 반환되는 경우 단일행 서브쿼리인 경우에는 메인쿼리에 단일행비교연산자를 준비하면 된다. * 단일행비교연산자 : = : 같음 > : 보다큼 >= :보다 크거나 같음 < : 보다 작음
저번편에 이어서 회원가입시 필요한 제약조건들을 추가해본다. 제약조건은 join.js파일에 기술하였다. count를 써서 몇가지 조건을 만족했는지에따라 다르게 나타나도록 하였다. 핸드폰은 기호를 제외하고 번호만 표시되도록 하였다. 이름과 이메일 체크는 널값 체크만 했는데 형식에 맞는지 여부는 추가해주면 된다. 조건에 만족하지 않으면 화면에는 이렇게 표시된다. 아쉬운점은 아이디 중복체크부분에 조건을 만족하지 못했을때는 빨간색, 조건에 만족하면 파란색으로 표시하고 싶었는데 모두 파란글씨로만 나와서 아쉽다. 아이디 중복체크기능은 다른 게시글에서 자세히 다뤄보도록하겠다.
회원가입화면을 구현해보았다. 빨간색으로 표시한 부분이 필요한 파일들이다. (CSS 파일은 생략하였다.) 일단 화면에 표시될 양식을 먼저 구성한다. 여기까지는 회원가입 기본동작 원리이다. 이제 회원가입시 필요한 제약조건들은 다음편에서 서술하도록 하겠다.