기본 쿼리 및 방법, 심지어 테이블, 하위 쿼리

기본 쿼리 및 방법

  , 여기서부터, 한계 의해 갖는 별개의 순서로 그룹화

심지어 테이블

  내부, 오른쪽에 참여, 조합에 가입 왼쪽 조인

작성 순서

  EMP의 ID, 이름을 선택 여기서 ID> 3 및 ID <6;

실행 순서

  결국 확인하는 #에서는 무엇 테이블
       곳 # 필터를 통해 조건에 따라 데이터
       의 데이터 중 일부 필드를 선택 # 필터 밖으로

  EMP의 \의 G SELECT * FROM, 테이블 필드를 조판 할 때 특히 결과가 쿼리 플러스 \ G에서 쿼리 결과를 조절할 수 혼란 현상이 나타날 수 있습니다 때

  이하 3~6보다 번호 # 1 쿼리 데이터
      EMP로부터 SELECT * WHERE ID> 식 3 <= 6,
      3 내지 6 이드 EMP로부터 SELECT *
      문 위에 정확히 동등한
    페이 쿼리와 2 20,000 또는 18,000 또는 17,000 데이터
      SELECT ID, 이름 EMP WHERE 급여 또는 급여 = 20000 = 18000 = 17000 또는 급여에서,
      EMP의 급여에서 ID를 선택 이름 WHERE (20000,18000,17000);

  # 3. 쿼리 직원의 이름과 급여 직원 이름은 문자 O를 포함

  %는 : 문자의 번호와 일치
        모든 문자가 일치 : _를

    이름 '%의 오 %'와 같은 EMP로부터 이름, 급여를 선택;

   # 4 직원 이름 조회가 종업원 급여 그것의 4 문자 이름
      WHERE 이름 '____'처럼 급여 EMP로부터 SELECT 이름,
       # 5 조회 ID 미만 3 이상 6 개 데이터이다
      EMP 선택 * 어디 ID <3 ID 또는> 6].
      SELECT * EMP에서 BETWEEN ID 3 아닌 6;..
      # 6 쿼리 급여 범위 20000,18000,17000 데이터 아니다
      하지 EMP의 급여에서 SELECT ID, 이름 WHERE (20000,18000,17000)
      # 널이 사용 =입니다 수없는 경우 7. 쿼리 작업 설명은 판단 할 수있는 이름과 작업 이름에 대한 직원의 비어
      이름 선택이, POST에서 WHERE EMP post_comment = NULL;
      은 SELECT 이름, POST는 EMP의 post_comment에서 WHERE가 null;

MySQL은 대소 문자를 구분하지 않습니다

그룹별로 그룹화

  ; 우편으로 EMP 그룹에서 *를 선택
    최소 단위를해야 그룹화하여 설정 한 후, 다음 그룹 내에서 하나의 데이터 정보를 표시하지 않아야
    만 직접 다른 필드 정보를 얻을 수 없습니다 필드 정보 패킷을 얻을 수 있습니다 MySQL은 그룹 후에 있지만, 다른 방법 (집계 함수) 프로필 취득에 의해
    엄격 모드가 설정되지 않은 사용자의 MySQL을 부여하지 지시하는 경우
      '% 모드 %'와 같이 표시 변수,
      활성 현재 윈도우의 세션 세트
      세트 글로벌 전 세계적으로 유효
      세트 글로벌 sql_mode = "STRICT_TRANS_TABLES, ONLY_FULL_GROUP_BY "을;
      그룹 * SELECT 포스트 EMP에서,
      ID, POST에 의한 EMP에서 그룹 명을 선택하고,
      POST에 의한 그룹 EMP에서 이름을 선택하고,
    # 2는 최대 최소 각 부서 집계 기능 SUM 카운트 AVG 최대 급여 얻기
      SELECT POST 맥스 (급여)를 ; 포스트 EMP 그룹에서
    필드 별명
      '섹터'포스트 EMP 그룹에서 '최대 임금'로서, 최대 (급여)로서 선택한 후;
      포스트 '부'를 선택 맥스 (급여) 포스트 EMP 그룹에서 '최대 임금';
    최저 임금 번호 부서별
      선택 후, 분 포스트 EMP 군으로부터 (급여)
    부서별 # 평균 임금
      선택한 후, 에 의해 EMP 그룹에서 평균 (급여) 포스트;
    # 각 부서의 합 지불
      POST에 의해 EMP 그룹에서 SELECT POST, SUM (급여)
    의 각 부서에있는 사람들의 # 번호
      선택 (SELECT) POST POST에 의해 EMP 그룹에서, COUNT (나이),
      선택 (SELECT) POST POST에 의한 그룹 EMP에서, COUNT (급여)
      포스트 EMP로부터 SELECT POST, COUNT (ID) 그룹,
      POST에 의한 그룹 EMP로부터 SELECT POST, COUNT합니다 (post_comment)
    통계 시간 내의 패킷 수가 아닌 널을 채우는 필드는 같은 ID 필드로 고유 한 식별 데이터 필드의 사용을 추천 할 수 있습니다, 계산을 수행 할 수 있습니다
    각 그룹 내에서 자동으로 단일 데이터 원하는 계산을 할 것입니다 집계 함수, 당신이 고려해야 할 필요가 없습니다
    쿼리 패킷 # 3 각 후 부서의 이름을 학생의 이름으로 모든 부서
      POST SELECT 포스트 그룹 EMP에서 GROUP_CONCAT (이름)
      SELECT POST, GROUP_CONCAT ( '는 DSB'이름) 그룹 EMP로부터 포스트는,
      각 데이터 필드 (복수 일 수도 있음)에 대응되는 패킷을 얻을 수 GROUP_CONCAT ()를 지정 값

   선택 후, GROUP_CONCAT (이름, ":", 급여) 우편으로 EMP 그룹에서;

 CONCAT
      EMP에서 (급여 "SAL");, CONCAT : CONCAT (이름 "NAME")을 선택

: 팁
        데이터를 바느질 CONCAT는 데 사용됩니다
        CONCAT의 그룹화하지 않고 사용
        GROUP_CONCAT 후 그룹화 사용

  # 쿼리 각 직원의 연봉
      을 선택 이름, 급여 EMP에서 * 12 ;

  # 첫번째 룩업 테이블에서 첫번째, 가장 기본적인 단계를 수행 한 후 제한을 결정하지이 표를 확인 어떤 테이블 확인한 다음 분류의 필요성을 결정하고 마지막으로 필드에 대응하는 필요로하는 정보를 확인하십시오   
    당신이해야 각 단계에 의해 생성 된 결과는 새 테이블로 취급하고 기반으로 해당 테이블에 다음 다른 작업을 수행하는
      1. 쿼리 작업 이름을 모든 직원 위치의 이름은 GROUP_CONCAT 포함
      포함 된 각 작업 2. 쿼리 작업 이름 및 직원의 수를 카운트의 수를
      계수 3. 검색 회사 남성 직원과 여성 직원의 수
      평균 4. 쿼리 작업 이름 및 각 위치의 평균 연봉
      5 쿼리 작업 이름 및 각 위치의 최대의 가장 높은 연봉
      각 위치의 가장 낮은 위치 6. 질의 및 이름 급여 분
      7. 발견 남성 직원과 남성 직원의 평균 급여, 여성 직원과 여성 직원 평균의 평균 급여
    횟수 평균은 패킷 후 사용할 수있는 집계 함수의 최대 최소 합계 표는 기본적으로 그룹을 작성하지 않을 경우 모든 데이터가 일련
    의 기입 순서
      에서, 그룹의 선택에 의해,
    실행 순서
      에서의 경우, SELECT, 그룹화
    30 세에서 8 통계적 부서 직원의 평균 임금 이상
      # 30 세 이상 젊은 노동자를 얻을 수
      에서 선택 후, 평균 (급여) EMP 경우 우편으로 연령> 30 그룹;
    완료되면 호흡, 쓰기 예비 첫 번째 단계에서 단계를 수행하지 않아야 SQL 문을 작성, 결과에서 쿼리 단계 모양을 작성하고 다음을 기반으로 현재의 결과 작성 내려
    가지는
        지금 정확히 어디에 또한 데이터를 필터링하는 데 사용됩니다,하지만 지금 데 하여 기 후
        예비 스크리닝을 할 수있는 전체 데이터이고, 그러나, 데이터 패킷을 갖는 후 표적 스크리닝 수행하는
    한, 30 세 이상의 직원의 평균 임금의 연령 통계 부서,
    평균 임금을 유지 10,000보다 큰 섹터
      EMP로부터 SELECT POST, AVG (급여) WHERE 연령> 30 그룹 POST AVG를 갖는 (급여)> 10000;
      SELECT POST, AVG (급여) EMP에서 WHERE POST에 의한 연령> 30 그룹 WHERE AVG (급여)> 10000 # 오류
    # 강조이 : 뒤 군 사용해야 갖는
      EMP은 AVG (급여)> 10000 않아도 SELECT * # 주어진
    실행 순서
      , SELECT 가짐 그룹별로 발을
    DISTINCT 중복
    다수의 중복 데이터 (A)에을 무거운
    무거운 데이터는 재하기 위해 동일해야합니다
    하나는 같은 복제 할 수없는 데이터없는만큼
    별개의 아이디, EMP에서 나이를 선택하고,
    실행 순서
      에서이 WHERE, 그룹, HAVING, SELECT가 DISTINCT  
    에 의한 주문 정렬
        기본값은 ASC를 오름차순입니다, 또한 DESC 내림차순 될 수 있습니다  
      * EMP 주문에서 봉급으로 SELECT,
      SELECT *를 EMP 주문에서가 급여 ASC;
      급여 DESC 의해 EMP 주문 SELECT *;
      나이 EMP 주문 SELECT * 급여 # 먼저 연령별 후 동일한 상승 기간을 오름차순으로 급여를 수행하는 곳
      을 선택 * EMP 순서에서 연령 ASC별로 , 급여 DESC; # 먼저 수행 한 후 같은 상승 연령의 경우 오름차순으로 급여를 따라 연령에 따라
    10 세 이상 고령 근로자에게 # 통계 부서에게 평균 임금을
    # 부서 1000보다 큰 평균 급여, 그리고 평균 임금 정렬 유지
      평균을 선택 게시물을 EMP에서 (급여) 여기서> 나이 포스트 (10) 군 평균을 갖는 (급여)> 평균 (급여) 1000 위해,
    제한 데이터 표시 제한 개수
      EMP 한계 5에서 선택한 * #은 데이터 (25)가 표시
      EMP 제한 5,5- SELECT *, 
    제한 만있을 때 하나의 파라미터를 나타내는 몇 표시
    시간 제한이 첫번째 인수로 표시된 두 개의 매개 변수를 가질 때 두 번째 매개 변수는 이후 수 보여 시작 위치에서 시작 위치를 나타냅니다
    # 가장 높은 사람의 문의 급여 세부
    최초의 종류에 따라 # 급여를
    다음 단지 #이 제한 제한 걸릴
      급여 내림차순으로 EMP 순서에서 * 선택을 제한 1,
    #은 기본적으로 프로그래밍에있는와 관련된 처음의 등록 볼
    정규
      선택 * EMP에서 이름 정규 표현식 '       ^ J의 * (N | Y) $를.';
    다중 테이블 쿼리
      테이블 쿼리를 두 가지 범주로
          표 1. 미국 쿼리
          2. 하위 쿼리
      선택 * EMP, 출발에서, 결과는 데카르트 제품입니다
    # 쿼리 부문 직원 및 정보 기술 부서의 부서  
      당신도 테이블, 커넥터를 접근하지 않습니다하기 위해 전용 (내부 조인 ), 왼쪽 연결 (왼쪽 가입) 오른쪽 연결 (오른쪽 가입), 완전히 연결 (결합) #만큼 노조를 추가 할 수있는 좌우 연결 SQL 문은 완전히 연결된다 
          * EMP는 가입 emp.dep_id DEP = dep.id ON 선택에서 왼쪽
          연합 (EU)
          , 선택 * EMP가 참여 권리 DEP에서 = emp.dep_id dep.id ON
    하위 쿼리
        쿼리 결과가 테이블로 추가 쿼리 SQL 문을
      선택 ; 위에서 ID를 언급에서 DEP는 = WHERE 이름 (SELECT EMP에서이 WHERE 이름 = '제이슨'DEP_ID)
    # 2. 각 부서 직원 최신 신병의
    각 부서는 최신 신병을 눌러 비상 테이블 쿼리의 해당 부서를 확인합니다 : # 아이디어를   
    t1.id SELECT, t1.name, t1.hire_date, t1.post, T2. * EMP에서 AS T1
        내측 가입
        T2 AS (POST 의해 MAX_DATE AS EMP 그룹에서 POST 맥스합니다 (hire_date)을 선택)
        ON = T2의 t1.post .post
        를 Where t1.hire_date = t2.max_date
        ; 
    #은 테이블에 별칭을 재생할 수 있습니다
    별칭 가상 테이블을 체크 아웃 할 수 있습니다 #
    # 필드에 별칭을 재생할 수 있습니다

추천

출처www.cnblogs.com/zrh-960906/p/11391849.html