mysql sql 99構文内接続等値接続

1185 ワード

#ケース:従業員名、部門名の照会
SELECT
    last_name,department_name
FROM
    employees e
INNER JOIN 
    departments d
ON
    e.`department_id`=d.`department_id`

#ケース:クエリー名にeを含む従業員名と職種名(フィルタ)
SELECT
    last_name,job_title
FROM
    employees e
INNER JOIN
    jobs s
ON
    e.`job_id`=s.job_id
WHERE
    e.`last_name` LIKE '%a%' ;

#ケース:照会部門数が3より大きい都市名と部門数
SELECT
    city,COUNT(*)
FROM
    departments d
INNER JOIN
    locations l
ON
    d.`location_id`=l.`location_id`
GROUP BY
    city
HAVING
    COUNT(*)>3;

#照会:従業員名、部門名、職種名を部門名で並べ替え(三表接続)
SELECT
    last_name,department_name,job_title
FROM
    employees e
INNER JOIN
    departments d    #       from       
ON
    e.`department_id`=d.department_id
INNER JOIN

    jobs j
ON
    j.job_id=e.job_id
ORDER BY
    department_name DESC;

#ケース:どの部署の従業員数>3の部署名と従業員数を問い合せ、その数でソートします(ソートを追加)
SELECT
    COUNT(*),department_name
FROM
    departments d
INNER JOIN
    employees e
ON
    d.`department_id`=e.`department_id`
GROUP BY
    department_name
HAVING
    COUNT(*)>3
ORDER BY
    COUNT(*) DESC;