목록전체 글 (240)
요르딩딩
이번문제는 예외사항을 제외하면 구현하기에는 어렵지않은 문제이다. 여기서 주의해야 할 점에 대해서 알아보자. 1. 영문자만 가능 : 정규식 사용 2. 대소문자 구분 없음 : 모두 대문자로 치환하여 사용 3. 두 집합이 모두 공백일 경우 : 65536 바로 반환 4. list에서 contains() 사용하여 비교가능 5. list 깊은 복사는 .addAll() 사용 6. 교집합 개수 구할때 비교하는 집합에서 제거해가며 카운트해야 올바른 개수를 구할 수 있다. 7. 나누기 소수점 이슈 double사용 8. 소수점 버리기 이슈 int형으로 반환 import java.util.*; class Solution { public int solution(String str1, String str2) { int answe..
서브쿼리 1. 쿼리문 내에 또 다른 쿼리문이 있는 형태 2. 서브쿼리는 메인쿼리에 포함되는 관계 - ()를 사용해 감싸는 형태 - ORDER BY를 사용하지 못한다. 3. 사용가능한 위치 - select/ from/ where/ having/ order by - values(insert)/ set(update) 4. 종류 - 단일행 서브쿼리 - 다중행 서브쿼리 - 다중컬럼 서브쿼리 단일행 서브쿼리 1. 결과가 레코드 하나인 서브쿼리 2. 일반 연산자 (=, >, ALL (select Population) ANY 1. 여러 개의 레코드의 OR효과(가장 작은 값보다 큰) 2. Population > ANY(select Population) IN/ EXISTS 1. 결과값 중에 있는 것 중에서의 의미 2. I..
LIKE 검색 1. 정확한 키워드를 모를 경우 일부만으로 검색하는 방법 2. 와일드카드(%, _)를 사용하여 패턴 매칭 와일드카드 : % (0-N글자), _ (1글자) 3. LIKE의 검색은 매칭하기 위해 DBMS에 부담이 많으므로 LIKE에 OR와 같은 논리조건자를 중복해서 사용하지 않는 게 좋음 (바람직하지 않은 예) select * from 테이블명 where like 컬럼명1 like ... or 컬럼명2 like ...; NULL 값 1. NULL이란 해당 컬럼의 값이 없다는 의미 (해당 컬럼이 NULL값을 허용하는 경우) 2. NULL값을 가지고 있는 컬럼을 검색하려면 is NULL 3. NULL이 아닌 값을 가지고 있는 컬럼을 검색하려면 is not NULL NULL 함수 1. 숫자컬럼을 연..
SELECT INTO 1. 쿼리결과를 새 테이블로 만든다. 2. MySQL에서는 CREATE TABLE 테이블명 SELECT * FROM 테이블명 3. 기존에 존재하지 않는 테이블이 새로 생성된다. (일종의 뷰와 동일한 효과) > 뷰는 임시테이블이라는 점과 차이 INSERT INTO SELECT 1. 쿼리결과를 기존의 테이블에 추가한다. (기존 테이블이 존재해야 함) 2. INSERT INTO 테이블명1 SELECT * FROM 테이블명2 WHERE 조건절... 3. SELECT하는 테이블과 INSERT하는 테이블은 동일한 구조를 가져야 함. 4. 두 개의 별도 쿼리를 하나로 합침 CASE...WHEN...END 1. SQL의 조건문(if/ switch문)에 해당 2. 조건값에 따른 처리를 구분할 수 있..
JOIN의 개념, 종류 JOIN의 개념 1. 서로 다른 테이블을 공통 컬럼을 기준으로 합치는 테이블단위연산 2. 조인의 결과 테이블은 이전 테이블의 컬럼 수의 합과 같다. 3. select * from 테이블1 join 테이블2 on 테이블1.컬럼명 = 테이블2.컬럼명 4. 조인시 서로 다른 테이블에 같은 컬럼명이 존재하면 구분을 위해 테이블명.컬럼명으로 사용해서 표시 5. 조인시 NULL 값을 허용하는 내부조인(불가)과 외부조인(허용)으로 구분 6. (내부조인)INNER JOIN, (외부조인)LEFT JOIN/ RIGHT JOIN/ FULL JOIN INNER JOIN : 조인 시 NULL값을 허용하지 않음 (NULL값을 가진 레코드는 조인결과에 빠짐) LEFT JOIN : 조인 시 JOIN의 왼쪽 테..
쿼리결과 중복제거 (DISTINCT) DISTINCT 1. 중복된 값들이 나오는 경우에 이를 제거해서 표시하는 기능 2. select distinct 컬럼명1, 컬럼명2, ... from 테이블명 where 조건절 논리연산자 (AND, OR, NOT) 1. select문의 조건절에 논리조건 적용해서 적용할 수 있는 연산자 2. select * from 테이블명 where (not) 조건1 and/or (not) 조건2... 논리연산자 (IN, BETWEEN) 영어(IN, BETWEEN)로 표현하는 것도 가능 결과정렬 (ORDER BY) 1. select문의 결과값을 특정한 컬럼을 기준으로 오름차순/내림차순으로 정렬해서 표시 2. select * from 테이블명 where 조건절 order by 컬럼명 ..
SQL의 이해와 종류 SQL 1. 데이터베이스에 있는 필요한 정보를 사용할 수 있도록 도와주는 언어 2. 사용방법이나 문법이 다른 언어보다 단순함 3. 하나를 배워두면 모든 DBMS에서 사용 가능함 4. 인터프리터 5. 대소문자 구별하지 않음(데이터 내용은 구분함) SQL의 이해 사용자(프로그램) > SQL > DBMS > DB 1. 사용자나 프로그램이 필요한 데이터를 가져오기 위해 SQL을 작성한다. 2. DBMS가 DB에서 사용자가 작성한 SQL을 통해데이터를 가져온다. 3. 사용자는 SQL을 통해서 가져온 데이터를 볼 수 있다. SQL의 종류 DML (데이터 조작 언어) 1. 테이블의 데이터를 조작하는 기능 2. 테이블의 레코드를 CRUD(create, retrieve, update, delete)..
JOIN 개념 (1) 서로 다른 테이블을 공통 컬럼을 기준으로 합치는 테이블단위연산 조인의 결과 테이블은 이전 테이블의 컬럼 수의 합과 같다. select * from 테이블1 join 테이블2 on 테이블1.컬럼명 = 테이블2.컬럼명 ... 조인시 서로 다른 테이블에 같은 컬럼명이 존재하면 구분을 위해 테이블명.컬럼명으로 사용해서 표시 JOIN 개념 (2) 조인시 Null값을 허용하는 내부조인(불가)과 외부조인(허용)으로 구분 INNER JOIN : 조인시 NULL값을 허용하지 않음 (NULL값을 가진 레코드는 조인결과에 빠짐) LEFT JOIN : 조인시 왼쪽테이블 기준으로 조인하며, 일치하는 값이 오른쪽테이블에 없더라도 표시됨. RIGHT JOIN : 조인시 오른쪽테이블 기준으로 조인하며, 일치하는..