Sample - 1 기본적인 sql 구문

  • 직원의 이름을 순서대로 리스트 출력해라

    SELECT *    
    FROM EMPLOYEES
    ORDER BY FIRST_NAME,LAST_NAME
    
  • 직원 중 나이가 가장 많은 사람의 나이는 몇살인가?

    SELECT TIMESTAMPDIFF(YEAR,MIN(BIRTH_DATE),NOW())
    FROM EMPLOYEES;
    

    NOW는 현재 시간을 가져오는 함수 TIMESTAMPDIFF는 시간의 차이를 구하는 함수 -> 파라미터 : (단위,1,2)

  • 가장 최근에 입사한 사람 100명 출력

  •   SELECT *
      FROM EMPLOYEES
      ORDER BY HIRE_DATE DESC
      LIMIT 100
    

limit은 데이터의 개수를 제한하는 명령어로 뒤에 정수가 1개일 경우 갯수를 의미하고 정수가 2개일 경우 순서와 갯수를 의미함 따라서 limit(100,10)의 경우 100부터 110까지의 데이터가 조회 됨

  • 1999년에 입사한 직원 중 여자직원의 리스트

  • SELECT *
    FROM EMPLOYEES
    WHERE YEAR(HIRE_DATE)=1999 AND GENDER='F';
    

    조건에 따라 and와 or을 사용할 수 있다

  • 1998년이나 1999년에 입사한 남자 직원의 수를 구하시오

  • SELECT COUNT(*)
    FROM EMPLOYEES
    WHERE (YEAR(HIRE_DATE)=1998 OR YEAR(HIRE_DATE)=1999) AND GENDER='M';
    

    COUNT() 함수는 GROUP BY 에 있는 대상을 기본으로 하며 GROUP BY 절이 없을 경우 전체를 대상으로 한다

  • 1995년 부터 1999년까지 입사한 직원의 수

  • SELECT COUNT(*)
    FROM EMPLOYEES
    WHERE YEAR(HIRE_DATE) BETWEEN 1995 AND 1999
    
  • 1995, 1997, 1999년에 입사한 직원의 평균 나이를 구하시오

  • SELECT AVG(TIMESTAMPDIFF(YEAR,BIRTH_DATE,NOW())
    FROM EMPLOYEES
    WHERE YEAR(HIRE_DATE) IN (1995,1997,1999);
    
  • 성(last_name)이 Senzako, Pettis, Henseler인 직원을 출력하시오.

  • SELECT *
    FROM EMPLOYEES
    WHERE LAST_NAME IN ('Senzako', 'Pettis', 'Henseler');
    

results matching ""

    No results matching ""