자연 조인 Natural join - 조인을 하고자 하는 양 테이블에 컬럼명과 데이터타입이 같은 컬럼을 기준으로 조인을 한다. -- ON JOIN 활용 SELECT d.department_id, d.department_name, l.city FROM departments d JOIN locations l ON d.location_id = l.location_id; -- NATURAL JOIN 활용 SELECT d.department_id, d.department_name, l.city FROM departments d NATURAL JOIN lacations l; 기본 조인만 알아도 되지만, 다른 걸 쓰면 더 짧고 간편하게 쿼리문 작성이 가능하다. 데이터타입이 같고 공통된 컬럼명의 컬럼이 각 테이블에서 ..
JOIN 테이블을 서로 연결해 하나의 테이블인 것처럼 보여준다. 하나의 데이터가 테이블이 아닌 여러 테이블에서 가져와 출력하기 때문에 출력 결과가 크다. SELECT employees.employee_id, employees.last_name, employees.salary, departments.department_name FROM employees JOIN departments ON employees.department_id = departments.department_id; SELECT e.employee_id, e.last_name, e.salary, d.department_name FROM employees e JOIN departments d ON e.department_id = d.depar..
게시판의 한 페이지 게시글이 10개씩 보이게 하고 싶다! 한 페이지에 보여줄 포스트 개수 설정한다. int pageSize=10; 페이지 번호 가져온다. (이 부분은 이후에 자세히 설명하고 일단은 이 정도로만) String pageNum=request.getParameter("pageNum"); http://localhost:8080/project/board.jsp : 페이지번호 없는 경우 http://localhost:8080/project/board.jsp?pageNum=2 : 페이지 번호가 2인 경우 위를 참고해 페이지 번호가 null인 경우는 페이지 번호가 1이 되도록 한다. if(pageNum==null){ pageNum="1"; } 페이지 번호를 정수형으로 변경 int currentPage=I..
정규표현식 Regular Expression, Regex - 문자열을 처리하기 위한 패턴 기반 문자열(식) - 정규표현식으로 처리할 문자열 패턴을 지정하고 특정 클래스 등을 사용해 정규표현식에 해당하는지 체크한다. - 개발 뿐 아니라 네트워크, 웹 등에서 공용으로 사용 가능한 표준 표현 방법 - 패스워드 유효성 검사나 전화번호, 이메일 양식 검사 등(Validation Check 라고 함)에서 사용된다. 메타 문자 Meta Character - 정규표현식에 사용되는 패턴 문자 [ 일반적인 기호 ] 1. ^x: x로 시작하는 문자열 - "x", "xa", "xxx" 패턴 규칙에 부합되어 사용 가능한 문자열이다. - x가 숫자라는 의미일 때: "숫자admin", "숫자123" 사용 가능, "admin123"..
SQL Plus & SQL Developer 쿼리 구문(DB관리 명령어-DBA, Object 관리 명령어-개발자)의 입력/실행/결과를 확인하는 프로그램 SQL Plus CUI로 데이터베이스 관리자(DBA)가 주로 사용한다. 무거운 명령어를 사용하는 데 SQL Developer에서 실행하면 그래픽 요소를 거쳐 늦기 때문이다. 로컬 접속의 경우 conn hr/hr DB가 하나뿐일 때는 DB에 알아서 접속한다. conn hr/hr@IP주소 SQL Developer GUI로 개발자가 주로 사용한다. - 자기 자신(컴퓨터 내부)을 가리키는 주소가 localhost, 원격 접속일 경우 호스트 이름에 IP주소가 들어간다 - SID에 DB 이름이 들어간다. SQL Plus와 다르게 DB가 하나밖에 없더라도 적어주어야 ..
정규화 제 1 정규화 1NF 오직 원자값만 저장한다. 한 컬럼에 여러 데이터가 들어오면 안된다. 영화명 장르 A 공포, 액션 B 드라마 C 판타지 제 1 정규화를 거치면 아래 테이블처럼 된다. 영화명 장르 A 공포 A 액션 B 드라마 C 판타지 제 2 정규화 2NF 하나의 테이블 안에 종속되는 관계가 있으면 테이블을 분리한다. 기본 키가 여러 속성일 경우, 그 중 일부에 종속된 경우이다. 제 3 정규화 3NF 기본키와 상관없는 속성의 테이블인 경우가 있다. 키가 아닌 컬럼들은 키에만 의존해야한다. X -> Y, Y -> Z, X -> Z가 성립하면 X, Y와 Y, Z로 분리한다. 후보키를 여러 개 가지고 있으면 이상 현상이 생길 수 있다. BCNF 모든 결정자가 후보키 집합에 속한 정규형 학생명 과목 강..
response.sendRedirect() URL이 이동할 페이지로 바뀌어 이동한다. 데이터가 유지되지 않아 공유할 수 없다. 뒤로가기가 가능하다. location.href 자바스크립트. 새로고침이 되지 않고 뒤로가기가 되지 않는다. forward 액션태그 한 프로젝트 안에서 다른 페이지로만 이동이 가능하다. URL 바뀌지 않고, 데이터를 공유하면서 페이지 이동이 가능하다. CSS 선택자 HTML 요소에 클래스를 붙여 만드는 클래스 선택자는 다중 선택이 가능해 여러 효과를 한번에 줄 수도 있다. 부모-자식 선택자를 이용해 특정 부분에만 효과를 주는 것이 가능하다.
package Lambda; // 1. 파라미터와 리턴타입이 없는 경우 (파라미터: X, 리턴타입: X) @FunctionalInterface interface MyFunc1 { // 함수형 인터페이스 어노테이션(@FunctionalInterface) 선언 시 에러 발생! // => 함수형 인터페이스는 반드시 하나의 추상메서드(abstract method)를 가져야함 public void methodA(); //public void methodB(); } // 2. 파라미터가 있는 람다식 (파라미터: O, 리턴타입: X) @FunctionalInterface interface MyFunc2 { void methodB(String msg); } // 3. 리턴타입이 있는 람다식 (파라미터: O, 리턴타입:..