mysql sql 99構文内接続等値接続
1185 ワード
#ケース:従業員名、部門名の照会
#ケース:クエリー名にeを含む従業員名と職種名(フィルタ)
#ケース:照会部門数が3より大きい都市名と部門数
#照会:従業員名、部門名、職種名を部門名で並べ替え(三表接続)
#ケース:どの部署の従業員数>3の部署名と従業員数を問い合せ、その数でソートします(ソートを追加)
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;