업로드가 2일차라고 하지만 날짜가 달라도 주인장 마음임 아무튼 그럼
P.S 한 1주는 게을렀고, 1주는 새로운 집을 구하느라...
한 1주는 운동에 대한 적응이랄까요 하하

DESC 명령어는 해당 테이블이 어떤 구성? : 어떤 Data Type인지에 대해 알려주는 명령어다.
보면은 별도의 창이 나온다.

바로 이렇게다.
쓰는 법은 테이블의 이름을 입력하는 것이다.
DESC DEPT;
왜 대문자냐고 묻는다면 ? : 권장사항이다.
SQL은 다른 프로그래밍 언어와 달리 대소문자 구별이 없다.
대소문자가 섞여 있는 프로그래밍 언어와의 구분과 가독성을 높이기 위해 SQL문 전체를 대문자로 쓰는 경우가 흔하게 볼 수 있다.
셀렉션 : 행 단위로 조회를 하는 방식이다 SELECT 문을 사용한다.
프로젝션 : 열 단위로 조회를 하는 방식이다. 똑같이 SELECT문을 사용한다.
조인 : 두 개 이상의 테이블을 양 옆에 연결해서, 하나의 테이블 인것처럼 데이터를 조회하는 방식이다. SELECT문을 사용해 조인을 한다고도 한다.
자 그러면 이 조회를 하는 SELECT문은 SQL의 기본 뼈대라고 한다는데, 뼈대로 2가지 문을 기억하자!
FROM : 조회할 데이터가 저장된 테이블 이름
SELECT : 조회할 열이나 FROM절에서 명시한 테이블에서 조회할 열이나 여러 열에 저장된 데이터의 조합이나 연산식을 사용
SELECT * FROM EMP; #EMP라는 테이블 전체 출력 * : 전체 FROM EMP : EMP테이블로부터
SELECT EMPNO, ENAME, DEPTNO
FROM EMP; #EMP 테이블로부터 특정 열을 조회
여기서 알아두면 좋을 점은 EMP 테이블의 전체 열 중 특정 열을 조회할 때 쉼표로 구분을 한다는 점과 띄어쓰기를 활용한다는 점(한눈에 보기 편하게)
FROM으로 열 이름을 명시하기 전에 그 사이에 사용하면 된다.
조회할 데이터의 내용에서 불필요한 중복을 제거하고 특정 데이터 종류만 확인하고 싶을 때 사용하면 된다.
조회할 때 불필요한 중복이 필요하지 않고 어떤 값들이 있는지 데이터의 종류만 파악하고 싶을 때 사용한다.
SELECT DISTINCT DEPTNO
FROM EMP;
SELECT DISTINCT JOB, DEPTNO
FROM EMP; #이 절은 중복이 제거가 안된다.
#JOB에서 중복이 되는 행이 존재하지만, DEPTNO가 중복되지 않고 나오기 때문이다.
SELECT ALL JOB, DEPTNO
FROM EMP; #ALL로 중복을 제거하지 않고 그대로 출력한 결과, SELECT는 기본으로 ALL이 설정되어 있음
SQL은 최종 출력되는 열 이름을 임의로 지정할 수 있다.
이렇게 본래 열 이름과 대신해서 붙이는 이름을 별칭이라고 한다.
우선 별칭을 알기 전에, 열과 연산식에 대해 알아보자
우리는 기본적인 열이 있으나, 그 열을 연산식을 사용해서 새로운 값으로 표현할 수 있다.
SELECT ENAME, SAL, SAL*12+COMM, COMM
FROM EMP;
이렇게 하면 COMM 왼쪽 위치에 새로운 열이 생성되어 COMM이 존재하는 값에 SAL에 12을 곱한 값이 추가된다.
이렇게 하면 열 이름이 너무 길어진다. 그렇기 때문에 별칭을 지정한다.
별칭을 지정하는 방법은 4가지다.
SAL*12+COMM ANNSAL
SAL*12+COMM "ANNSAL"
SAL*12+COMM AS ANNSAL
SAL*12+COMM AS "ANNSAL"
이 중, AS를 선호하는 편이며, 알아보기 편하기 때문이다. 큰따음표는 이미 프로그래밍 언어에서 사용이 되기 때문에(Main) 함수
작업 효율이 떨어진다.
ORDER BY는 데이터를 조회할 때, 순서를 정해준다 SELECT문에 마지막 부분에 사용하고, 정렬할 열을 선택해준다.
내림차순은 열 뒤에 DESC를 붙이면 된다.
#오름차순
SELECT *
FROM EMP
ORDER BY SAL;
#내림차순
SELECT *
FROM EMP
ORDER BY SAL DESC;
정렬이 꼭 필요한 경우가 아니라면 사용하지 않는 것을 추천한다고 한다.
데이터가 많으면 조회보다 정렬에 더 시간이 들 수 있기 때문에 작업의 효율이 떨어지기 때문
책 4장 연습문제 Q3
SELECT EMPNO AS EMPLOYEE_NO,
ENAME AS EMPLOYEE_NAME,
MGR AS MANAGER,
SAL AS SALARY,
COMM AS COMMISSION,
DEPTNO AS DEPARTMENT_NO
FROM EMP
ORDER BY DEPARTMENT_NO DESC, ENAME;
부서 번호 기준 내림차순 정렬하되 + 부서 번호가 같다면 사원 이름을 기준으로 오름차순 : ORDER BY는 하나만 쓰고, 먼저 정렬 기준을 붙어준다.