Home > Database > Mysql Tutorial > Analysis of connection query examples in MySQL

Analysis of connection query examples in MySQL

王林
Release: 2023-05-27 14:34:07
forward
1297 people have browsed it

    1. Cartesian product

    Table 1 has m rows of data, Table 2 has n rows of data, and the query result has m*n rows of data.

    2. Classification

    (1) Classification by age

    sql92 standard: only supports inner joins

    sql99 standard (recommended): supports inner joins, Outer joins (left outer joins and right outer joins), cross joins

    (2) Classification by function

    Inner joins: equivalent joins, non-equivalent joins, self-joins

    Outer join: left outer join, right outer join, full outer join

    Cross join

    3. Equivalent join

    (1) Query the girl’s name and its corresponding Boyfriend’s name

    SELECT 
        girlname,
        boyname
    FROM
        boys,
        girls
    WHERE
        girls.boyfriend_id=boys.girlfriend_id;
    Copy after login

    (2) Query the employee name (last_name) and the corresponding department name (department_name)------------- (query based on the associated id)

    SELECT 
        last_name,
        department_name
    FROM
        JDSC,
        SNSC
    WHERE
        JDSC.`id`=SNSC.`id`;
    Copy after login

    (3) Query employee name (last_name), job type number (job_id), job type name (job_title) (employee table: JDSC work table: JOBSC) ------ Alias ​​the table to improve simplicity , to avoid ambiguity

    #"e.job_id"是为了避免歧义
    SELECT
        last_name,
        e.job_id,
        job_title
    FROM
        ESC e,
        JOBSC j
    WHERE
        e.`job_id`=j.`job_id`;
    Copy after login

    Note:

    If an alias is given to the table, the queried fields cannot be qualified by the original table name.

    The order of the above two tables can be interchanged

    (4) Query the names of employees and departments with bonuses

    #员工名:last_name
    #部门名:department_name
    #奖金率:commissiom_pct
    SELECT
        last_name,
        department_name,
        commissiom_pct
    FROM
        employees e,
        department d
    WHERE
        e.`department_id`=d.`department_id`
    AND
        e.`commissiom_pct` IS NOT NULL;
    Copy after login

    (5) Group query-mdash;Query Number of departments in each city

    #城市分组表名:city
    #部门分组表名:departments 
    SELECT
        COUNT(*) 个数,
        city
    FROM
        departments d,
        locations l
    WHERE
        d.`location_id`=l.`location_id`
    GROUP BY
        city;
    Copy after login

    (6) Sorting - Query the job name and number of employees for each type of work, and sort them in descending order by the number of employees

    SELECT 
        job_title,
        COUNT(*)
    FROM
        emloyees e,
        jobs j
    WHERE
        e.`job_id`=j.`job_id`
    GROUP BY
        job_title
    ORDER BY
        COUNT(*) DESC;
    Copy after login

    (7) Three Table connection-query employee name, department name and city

    SELECT
        last_name,
        department_name,
        city
    FROM
        employees e,
        departments d,
        locations l
    WHERE
        e.`department_id`=d.`department_id`
    AND
        d.`location_id`=l.`location_id`
    AND 
        city LIKE 's%';
    Copy after login

    The above is the detailed content of Analysis of connection query examples in MySQL. For more information, please follow other related articles on the PHP Chinese website!

    Related labels:
    source:yisu.com
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template