목록Dev/SQL (15)
Learn & Record

1. 연습문제 (기본값 적용) # 직원 테이블에 각 필드에 기본값을 적용하여 tStaffDefault 테이블을 생성하라 # 부서는 영업부, 직급은 수습, 초봉은 280, 성취도는 1.0의 기본값을 적용하라 # 기본값을 지정해도, NULL허용이라면 NULL 기입 가능 CREATE TABLE tStaffDefault ( NAME CHAR(10) PRIMARY KEY, depart CHAR(10) DEFAULT '영업부' NOT NULL, gender CHAR(5) NOT NULL, joindate DATE NOT NULL, grade CHAR(10) DEFAULT '수습' NOT NULL, salary INT DEFAULT 280 NOT NULL, score DECIMAL(5,2) DEFAULT 1.0); ..

1. 서브쿼리 - 쿼리문 안에 또 다른 쿼리문이 포함된 구문, 복합적이고 단계적인 질문을 할 때는 여러 개의 쿼리를 중첩해서 사용 - 단일행 서브쿼리(하나의 값만 리턴), 다중행 서브쿼리(여러개의 행을 리턴), 다중행열(여러개의 열 구성, 여러 행 리턴) 2. 단일행 서브쿼리 - DB에서도 복잡한 쿼리를 실행할 수 있으며 그 방법이 바로 서브쿼리 - 서브쿼리는 다른 쿼리문안에 내장되어 있는 SELECT문이며 연속적으로 실행할 쿼리르 하나로 합침 - 이 때 감싸는 쿼리를 외부쿼리라고 하고, 외부쿼리와 구분하고 실행 순서를 명확히 지정하기 위해 서브쿼리를 감쌈 # 최대 인구수를 가진 도시명 SELECT name FROM tCity WHERE popu = (SELECT MAX(popu) from tCity);..

1. INSERT - 기본형식 : INSERT INTO 테이블 (필드목록) VALUES (값목록) - 마리아 디비는 INTO 생략을 허용하지만 SQL 표준에는 INTO가 필수 - INTO 다음에 새 레코드를 삽입할 테이블 이름을 적음, 콤마로 구분 나열, VALUES절의 값 목록 대입 값 나열 - 자리에 맞춰 VALUES 값을 작성하지 않았을 시, 오류 - 필드명을 명시했을 시, 자리가 변경되어 VALUES 값 작성 가능 # 서울 레코드 삽입 쿼리문 INSERT INTO tcity (NAME, AREA, metro, region) VALUES ('서울', 605, 974, 'y', '경기'); # 평택 데이터 추가 쿼리문 INSERT INTO tcity VALUES ('평택', 453, 51, 'n', ..

1. COUNT - COUNT는 개수를 세는 기능을 하는데, 개수를 조사할 필드명을 전달하는데 * 지정하면 필드에 상관없이 조건 맞는 개수 리턴 SELECT COUNT(*) FROM tstaff; # 별명(Alias)을 부여하면 결과셋에 이름을 표시 SELECT COUNT(*) AS "총 직원수" FROM tstaff; # WHERE 절을 붙이면 조건에 맞는 레코드의 개수를 구함 SELECT COUNT(*) FROM tstaff WHERE salary >= 400; # 조건에 맞는 레코드가 없어도 결과값은 역시 하나 SELECT COUNT(*) FROM tstaff WHERE salary >= 10000; # COUNT(*)로 조사한 개수에 해당하는 레코드를 알고 싶으면 원하는 필드명 적음 SELECT ..

1. ORDER BY - SELECT 명령에 별 지정이 없을 경우, 출력 순서 DBMS별로 디폴트 순서를 따름 - 출력할 때, ORDER BY 절로 정렬 순서를 지정하면 DBMS가 달라도 원하는대로 정렬 가능 - ( 기본형식 ORDER BY 필드 [ ASC | DESC ] ) : 오름차순 일 경우 ASC, 내림차순 일 경우 DESC - 순서를 생략하면 디폴트인 오름차순 으로 적용되므로 키워드 ASC는 보통 생략 - 키워드 값이 똑같을 경우, 프라이머리 키 기준으로 정렬됨 - 두 개 이상의 기준 필드 지정가능. 첫번째 기준이 같으면, 두번째 기준 비교하여 정렬 순서 결정 - 칼럼을 정수로 입력이 가능하다 - 모든 필드는 정렬 기준으로 사용가능. 정렬 기준 필드를 꼭 같이 출력할 필요는 없음. - 테이블에 ..

1. 필드 비교 - WHERE 절은 읽을 레코드의 조건을 지정 SELECT * FROM tcity WHERE AREA > 1000; SELECT NAME, AREA FROM tcity WHERE AREA > 1000; 2. 조건문 사용 비교연산자 - A=B (같다), = (대소비교), != (다르다, 같지 않다) - 숫자는 상수를 그냥 쓰지만, 문자열과 날짜 상수는 ' ' 작은 따옴표로 감싸야 함 3. SQL은 소문자와 대문자 구분 없이 인식된다. (카멜법 사용 X) 4. 연습문제 1. 인구가 10만명 미만인 도시의 이름을 출력 2. 전라도에 있는 도시의 정보 출력 3. 월급이 400만원 이상인 직원의 이름 출력 SELECT NAME FROM tcity WHERE popu < 10; SELECT *..