연습문제 : 3장 기본적인 SELECT문



<<1>>  부서 번호가 10번인 부서의 사람 중 사원번호, 이름, 급여를 출력하라.
SQL> select empno, ename, sal
     from emp
     where deptno = 10;                                        

<<2>>  사원번호가 7639인 사람 중 이름, 입사일자, 부서번호를 출력하라.
SQL> select ename, hiredate, deptno
     from emp
     where empno = '7369';                                              

<<3>>  이름이 ALLEN인 사람의 모든 정보를 출력하라.
SQL> select *
     from emp
     where ename = 'ALLEN';
 
<<4>>  입사일자가 83/01/12인 사원의 이름, 부서 번호, 급여를 출력하라.
SQL> select ename, deptno, sal
     from emp
     where hiredate = '83/01/12';

SQL> select ename, deptno, sal
     from emp
     where hiredate = to_date('1983/01/12', 'yyyy/mm/dd'>> ;


<<5>>  직업이 MANAGER가 아닌 사람의 모든 정보를 출력하라.
SQL> select *
     from emp
     where job != 'MANAGER';


<<6>>  입사일자가 81/04/02 이후에 입사한 사원의 정보를 출력하라.
SQL> select *
     from emp
     where hiredate >= '81/04/02';

<<7>>  급여가 $800이상인 사람의 이름, 급여, 부서 번호를 출력하라.
SQL> select ename, sal, deptno
     from emp
     where sal >= 800;

<<8>>  부서번호가 20번 이상인 사원의 모든 정보를 출력하라.
SQL> select   *
     from     emp
     where   deptno >= 20;

<<9>>  성명이 K로 시작하는 사람보다 높은 이름을 가진 사람의 모든 정보를 출력하라.
SQL> select *
     from emp
     where ename >= 'L%';

    
<<10>>  입사일자가 81/12/09 보다 먼저 입사한 사람들의 모든 정보를 출력하라.
SQL> select *
     from emp
     where hiredate < '81/12/09';


<<11>>  입사번호가 7698 보다 작거나 같은 사람들의 입사번호와 이름을 출력하라.
SQL> select empno, ename
     from emp
     where empno <= 7698;

<<12>>  입사일자가 81/04/02 보다 늦고 82/12/09 보다 빠른 사원의 이름, 월급, 부서 번호를 출력하라.
SQL> select ename, sal, deptno
     from emp
     where hiredate > '81/04/02'
      and hiredate < '82/12/09';

<<13>>  급여가 1,600 보다 크고 $3,000보다 작은 사람은 이름, 직무, 급여를 출력하라.
SQL> select ename, job, sal
     from emp
     where sal > 1600
      and sal < 3000;

<<14>>  사원번호가 7654와 7782 사이 이외의 사원의 모든 정보를 출력하라.
SQL> select *
     from emp
     where not empno between 7654 and 7782;


<<15>> 이름이 B와 J 사이의 모든 사원의 정보를 출력하라.
SQL> select *
     from emp
     where ename between 'B%' and 'K%';


<<16>>  입사일자가 81년 이외에 입사한 사람의 모든 정보를 출력하라.
SQL> select *
     from emp
     where hiredate not like '81%';
 
SQL> select *
     from emp
     where to_char(hiredate, 'yy/mm/dd'>>  not like '81%';

 
<<17>>  직무가 MANAGER와 SALESMAN인 사람의 모든 정보를 출력하라.
SQL> select *
     from emp
     where job in ('MANAGER', 'SALESMAN'>> ;

<<18>>  부서 번호와 20,30번을 제외한 모든 사람의 이름, 사원번호, 부서 번호를 출력하라.
SQL> select ename, empno, deptno
     from emp
     where not deptno in (20, 30>> ;

<<19>>  이름이 S로 시작하는 사원의 사원번호, 이름, 입사일자, 부서번호를 출력하라.
SQL> select empno, ename, hiredate, deptno
     from emp
     where ename like 'S%';

<<20>>  입사일자가 81년도인 사람의 모든 정보를 출력하라.
SQL> select *
     from emp
     where to_char(hiredate, 'yy/mm/dd'>>  like '81%';

<<21>>  이름 중 S자가 들어가 있는 사람만 모든 정보를 출력하라.
SQL> select *
     from emp
     where ename like '%S%';


<<22>>  이름이 S로 시작하고 마지막 글자가 T인 사람의 모든 정보를 출력하라 (단, 이름은 전체 5자리이다.>>
SQL> select *
     from emp
     where ename like 'S___T';
                     

<<23>>  첫 번째 문자는 관계없고 두 번째 문자가 A인 사람의 정보를 출력하라.
SQL> select *
     from emp
     where ename like '_A%';

    
<<24>>  커미션이 NULL인 사람의 정보를 출력하라.
SQL> select *
     from emp
     where comm is null;

<<25>>  커미션이 NULL이 아닌 사람의 모든 정보를 출력하라.
SQL> select *
     from emp
     where comm is not null;

<<26>>  부서가 30번 부서이고 급여가 $1,500 이상인 사람의 이름, 부서, 월급을 출력하라.
SQL> select ename, deptno, sal
     from emp
     where deptno = 30
      and sal >= 1500;

<<27>>  이름의 첫 글자가 K로 시작하거나 부서 번호가 30인 사람의 사원번호, 이름, 부서 번호를 출력하라.
SQL> select empno, ename, deptno
     from emp
     where ename like 'K%'
       or deptno = 30;

<<28>>  급여가 $1,500이상이고 부서 번호가 30번인 사워 중 직업이 MANAGER인 사람의 정보를 출력하라.
SQL> select *
     from emp
     where sal >= 1500
      and deptno = 30
      and job = 'MANAGER';


<<29>>  부서 번호가 30인 사람 중 사원번호를 SORT 하라.
SQL> select *
     from emp
     where deptno = 30
     order by empno;

  
<<30>>  급여가 많은 순으로 SORT하라.
SQL> select *
     from emp
     order by sal desc;

<<31>>  부서 번호로 ASCENDING SORT한 후 급여가 많은 사람 순으로 출력하라.
SQL> select *
     from emp
     order by deptno asc, sal desc;

<<32>>  부서 번호로 DESCENDING NSORT하고 이름 순으로 ASCENDING SORT, 급여 순으로 DESCENDING SORT하라.
SQL> select *
     from emp
     order by deptno desc, ename asc, sal desc;



연습문제 : 6장 조인과 서브 쿼리

<<1>> EMP와 DEPT TABLE을 JOIN하여 부서 번호, 부서명, 이름, 급여를 출력하라.
SQL> select e.deptno, d.dname, e.ename, e.sal
 from emp e, dept d
 where e.deptno = d.deptno;

SQL> select deptno, dname, ename, sal
 from emp natural join dept;

<<2>> 이름이 'ALLEN'인 사원의 부서명을 출력하라.
SQL> select dname
 from emp e, dept d
 where e.deptno = d.deptno
      and e.ename = 'ALLEN';

SQL> select d.dname
 from emp e join dept d
 on e.ename = 'ALLEN' and e.deptno = d.deptno;

<<3>> EMP Table의 데이터를 출력하되 해당사원에 대한 상관번호와 상관의 성명을 함께 출력하라.
SQL> select e.ename, e.mgr, c.ename mgr_name
 from emp e, emp c
 where e.mgr = c.empno;

SQL> select e.ename, e.mgr, c.ename mgr_name
 from emp e join emp c
 on e.mgr = c.empno;

<<4>> DEPT Table 에는 존재하는 부서코드이지만 해당부서에 근무하는 사람이 존재하지 않는 경우의 결과를 출력하라.
SQL> select *
 from dept
 where deptno not in (
                  select deptno
                  from emp
                  group by deptno
                  having count(*) > 0)
 ;
                 
<<5>> 'ALLEN'의 직무와 같은 사람의 이름, 부서명, 급여, 직무를 출력하라.
SQL> select e.ename, d.dname, e.sal, e.job
 from emp e, dept d
 where e.deptno = d.deptno
  and e.job = (select job from emp where ename = 'ALLEN')
 ;



<<6>> 'JONES'가 속해있는 부서의 모든 사람의 사원번호, 이름, 입사일자, 급여를 출력하라.
SQL> select e.empno, e.ename, e.hiredate, e.sal
 from emp e
 where e.deptno = (select deptno from emp where ename = 'JONES');
        
        
<<7>> 전체 사원의 평균 임금보다 많은 사원의 사우너번호, 이름, 부서명, 입사일, 지역, 급여를 출력하라.

SQL> select e.empno, e.ename, d.dname, e.hiredate, d.loc, e.sal
 from emp e join dept d
 on e.deptno = d.deptno
 and e.sal > (select avg(sal) from emp );

<<8>> 10번 부서 사람들 중에서 20번 부서의 사원과 같은 업무를 하는 사원의 사원번호, 이름, 부서명, 입사일, 지역을 출력하라.
SQL> select e.empno, e.ename, d.dname, e.hiredate, d.loc
 from emp e, dept d
 where e.deptno = d.deptno
and e.job in (select job from emp where deptno = 20 );

<<9>> 10번 부서 중에서 30번 부서에는 없는 업무를 하는 사원의 사원번호, 이름, 부서명, 입사일자, 지역을 출력하라.
SQL> select e.empno, e.ename, d.dname, e.hiredate, d.loc
 from emp e, dept d
 where e.deptno = d.deptno
 and e.job not in (select job from emp where deptno = 30);


<<10>> 10번 부서에 근무하는 사원의 사원번호, 이름, 부서명, 지역, 급여를 급여가 많은 순으로 출력하라.
SQL> select e.empno, e.ename, d.dname, d.loc, e.sal
 from emp e, dept d
 where e.deptno = d.deptno
 and e.deptno = 10;


<<11>> 'MARTIN'이나 'SCOTT'의 급여와 같은 사원의 사원번호, 이름, 급여를 출력하라.
SQL> select empno, ename, sal
 from emp
 where sal in ( select sal from emp where ename in ('MARTIN', 'SCOTT') );

<<12>> 급여가 30번 부서의 최고 급여보다 높은 사원의 사원번호, 이름, 급여를 출력하라.
SQL> select empno, ename, sal
 from emp
 where sal > (select max(sal) from emp where deptno = 30 );


<<13>> 급여가 30번 부서의 최저 급여보다 높은 사원의 사원번호, 이름, 급여를 출력하라.
SQL> select empno, ename, sal
 from emp
 where sal > (select min(sal) from emp where deptno = 30 );



'DB' 카테고리의 다른 글

[MySQL] 테이블 데이터 복사(컬럼값 변경 복사)  (0) 2021.01.11
2018.07.17 - SQL JOIN 조인  (0) 2018.07.17
MySql 내장함수 목록  (0) 2018.04.26
mysql 샘플 테이블 + 쿼리 연습 문제  (7) 2018.04.26
쿼리연습문제2  (0) 2018.04.26

오오오오 김민준님 실물이다 오오오오오옹ㅇㅇ

유툽강의에서듣던 목소리 레알 실물이다오오오오오옹ㅇㅇ


리액트 = 프론트엔드 라이브러리


왜쓰나? 

요즘 웹은 단순한 웹페이지가아니라 웹 어플리케이션이다. ui가 자주바뀐다 페이지를 계속 새로 불러오는게 아니라 동적웹을 구현할때 그냥 자바스크립트만 사용하면 코드정리안돼고 불편하니까 라이브러리를 사용한다. 라이브러리 사용 이유는 생산성, 유지보수성 관련.


리액트는 자바스크립트에 가깝고 ui에 집중된 라이브러리.

상태가 자주 바뀌는 대규모 어플리케이션을 구축하기 위해 리액트가 만들어짐


virtual DOM - 자바스크립트로 이루어진 가상의 돔. 가상의 돔에 먼저 그려놓고 바뀐게 있으면 그걸 업데이트 하는 방식. 


리액트를 특별하게 만드는점 - 어마어마한 생태계. react전용 플러그인들이 많이 만들어지고있다. 사용하는곳이 많고, 사용하는사람이 많아 정보찾기 용이하다. 완성도 높은 라이브러리.






props : 부모가 가지고 있고 값을 바꿀수없다.

state : 값을 바꿀수있지만 setState 로 바꿀 수 있다.




세미나 자료

https://trello.com/b/XNk2ruv5


자바 중급 - 컬렉션 프레임워크

https://programmers.co.kr/learn/courses/9/lessons/256



- java.util 패키지에 자료를 다룰 수 있는 자료구조 클래스가 있다.

- 자료구조 클래스들을 컬렉션 프레임워크 라고 한다.

- 자료를 저장할수 있는 구조 : 자료구조


Collection     - 컬렉션 프레임워크레서 가장 기본이 되는 interface

 - 여기에 자료가 있다 라는 것을 표현

 - 중복 허용, 자료 저장된 순서 기억못함

 - add(), size(), iterator()


Iterator        - Collection에 저장된 자료를 하나씩 꺼낼 수 있는 interface

- hasNext(), next()

 

Set             - 중복 허용X 

- Collection 인터페이스를 상속받는다

- add()


List             - 중복 허용, 순서 기억하는 자료구조

- Collection 인터페이스를 상속받는다

- get(int)


Map            - Key, Value 가지는 자료구조

 - put(), get()

 - Key 중복 X

 - KeySet() : 모든 Key 정보를 읽을 수 있는 Set을 반환















자바 중급 - 제네릭

https://programmers.co.kr/learn/courses/9/lessons/257



인스턴스를 만들 때 사용하는 타입을 지정하는 문법


<E> 가 제네릭을 적용한 것. 가상 클래스.

public class Box<E> {
        private E obj;
        public void setObj(E obj){
            this.obj = obj;
        }


    public class BoxExam {
        public static void main(String[] args) {
            Box<Object> box = new Box<>();
            box.setObj(new Object());
            Object obj = box.getObj();

            Box<String> box2 = new Box<>();
            box2.setObj("hello");
            String str = box2.getObj();
            System.out.println(str);

            Box<Integer> box3 = new Box<>();
            box3.setObj(1);
            int value = (int)box3.getObj();
            System.out.println(value);
        }
    }




- 제네릭 사용 가상타입 선언 -> 사용시 구체적 타입 설정


- 대표적으로 컬렉션 프레임워크 관련 클래스(Iterator, Set, List, Map) 에서 사용









JavaScript Clean Code

https://github.com/qkraudghgh/clean-code-javascript-ko


 - 읽어봐도 잘 모르겠다... 




나동빈님 JSP 게시판 만들기 강좌

https://www.youtube.com/watch?v=W9NLm_RNMvI&index=13&list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6



8강 게시판 메인페이지 디자인


9강 게시판 데이터베이스 구축하기


10강 글쓰기 기능 구현하기


11강 게시판 글 목록기능 구현하기


12강 게시글 보기기능 구현하기


13강 게시글 수정 및 삭제 구현하기



끝!

나동빈님 JSP 게시판 만들기 강좌 

https://www.youtube.com/watch?v=v2mmPRLjJGw&index=6&list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6




6강 회원가입 기능 구현하기

insert into 


7강 접속한 회원 세션 관리하기

session.setAttribute()

'공부메모' 카테고리의 다른 글

2018.04.15 - Javascript clean code  (0) 2018.04.15
2018.04.14 - JSP 게시판 만들기  (0) 2018.04.14
2018.04.08 - JSP 게시판 만들기  (0) 2018.04.08
2018.04.08 - 자바기초  (0) 2018.04.08
2018.04.07 - 자바기초  (0) 2018.04.07

MVC1 게시판은 건너뛸까 했지만 강좌가 있는김에 해보기로 결정.



나동빈님 JSP 게시판 만들기 강좌 

https://www.youtube.com/watch?v=v2mmPRLjJGw&index=6&list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6



2강 로그인 페이지 디자인

BootStrap


3강 회원 데이터베이스 구축하기

MySQL


4강 로그인 기능 구현하기


5강 회원가입 페이지 디자인





배고프니까 밥먹으러 가야겠다

피자헛 무한리필 먹어야지



'공부메모' 카테고리의 다른 글

2018.04.15 - Javascript clean code  (0) 2018.04.15
2018.04.14 - JSP 게시판 만들기  (0) 2018.04.14
2018.04.12 - JSP 게시판 만들기  (0) 2018.04.12
2018.04.08 - 자바기초  (0) 2018.04.08
2018.04.07 - 자바기초  (0) 2018.04.07

자바 기초부터 다시 공부해야지.. 해야지.. 하면서 온라인강의 뒤적거리다가 배열즈음에서 이미 졸고 있거나 상속쯤 가서 지겨워서 손 놓아버린 적이 한 두 번이 아니다. (그래서 자바 온라인 강의를 한번도 끝까지 다 본적이 없다.)

이번에도 역시 자바 기초부터 다시해야지! 하면서 열정을 탑재하고 여러 강의 뒤적거리다 찾은 나동빈님. 

지금까지 본 온라인 자바 기초 강의중에 나동빈님 자바 강의가 가장 재미있다.

7강부터 23강까지 보면서 한번도 졸지 않았다! 

불필요한 설명없이 핵심만 설명해주시고 지루할틈 없는 템포에 목소리도 굉장하시다.

 




나동빈님 자바 기초 프로그래밍 강의

https://www.youtube.com/watch?v=W683VoXgan4&list=PLRx0vPvlEmdBjfCADjCc41aD4G0bmdl4R





18강 추상

abstract class Aa{}

필요한 기능을 추상클래스에 미리 설계해놓고 사용할때 상속받아 @Override 로 함수 재정의해서 사용한다. 




19강 Final 키워드

한번 정의되면 절대 변하지 않음.

final int num = 10;         // final 변수 값 변경 X

public final void aa(){}     // final 함수(메소드) 재정의(오버라이드) X

final class Aa{}               // final 클래스 상속 X


20강 인터페이스

public interface Aa{}

상속받을때 extends(X) -> implements(O)

설계를 위한 클래스. 다중상속가능, 추상메소드와 상수만 가질 수 있다. 추상클래스보다 더 추상적이라 더 체계적이다.


21강 다형성

부모클래스 타입의 참조변수로 하위클래스의 객체를 참조할수있음.

A a = new a

A a  = new b


22강 객체(Object) 클래스

모든 객체의 조상님.


23강 객체지향의 활용




끝!





'공부메모' 카테고리의 다른 글

2018.04.15 - Javascript clean code  (0) 2018.04.15
2018.04.14 - JSP 게시판 만들기  (0) 2018.04.14
2018.04.12 - JSP 게시판 만들기  (0) 2018.04.12
2018.04.08 - JSP 게시판 만들기  (0) 2018.04.08
2018.04.07 - 자바기초  (0) 2018.04.07



https://www.youtube.com/channel/UChflhu32f5EUHlY7_SetNWw/playlists


자바 기초 프로그래밍 강좌



7강 기본 입출력 

Scanner sc = new Scanner(System.in)


9강 사용자정의 함수1 

10강 사용자 정의 함수2

public static 반환형 함수이름(매개변수){}


11강 반복함수와 재귀함수1

12강 반복함수와 재귀함수2


13강 배열

int[] arr = new int[100]


14강 다차원 배열

int[][] arr = new int[n][n]


15강 클래스

public class aa{}


16강 상속1

17강 상속2

extends








'공부메모' 카테고리의 다른 글

2018.04.15 - Javascript clean code  (0) 2018.04.15
2018.04.14 - JSP 게시판 만들기  (0) 2018.04.14
2018.04.12 - JSP 게시판 만들기  (0) 2018.04.12
2018.04.08 - JSP 게시판 만들기  (0) 2018.04.08
2018.04.08 - 자바기초  (0) 2018.04.08

+ Recent posts