Home> Database> SQL> body text

Let's talk about SQL table connections

WBOY
Release: 2022-06-15 11:55:28
forward
2142 people have browsed it

This article brings you relevant knowledge aboutSQL, which mainly introduces the relevant content about table connections. SQL Server supports multiple connections, including inner joins, left joins, and right joins. Join, cross join and full outer join, let's take a look at them together, I hope it will be helpful to everyone.

Let's talk about SQL table connections

Recommended study: "SQL Tutorial"

SQL table connection

In a relational database, data Distributed across multiple logical tables. To obtain a complete and meaningful data set, you need to use joins to query the data in these tables. SQL Server supports a variety of connections, including inner joins, left joins, right joins, cross joins and full outer joins.

1. Inner join

The inner join clause is used to query data from two or more related tables. The syntax of the INNER JOIN clause:

SELECT p.product_name, p.list_price ,c.category_nameFROM production.products p INNER JOIN production.categories c ON c.category_id = p.category_id
Copy after login

Note: The field to be queried must be preceded by the table name or table alias, such as: p.product_name
The one after FROM is the main table, and then the table following INNER JOIN is the table to be connected. The main table and the join table are compared to find all rows that meet the conditions. If the calculation result of the connection predicate is true, the main table and the connection table will be merged into a new result set, as shown in the following figure:

Lets talk about SQL table connections

Multiple tables connected within Connection, as shown below:

SELECT p.product_name, p.list_price ,c.category_name, b.brand_nameFROM production.products p INNER JOIN production.categories c ON c.category_id = p.category_id INNER JOIN production.brands b ON b.brand_id = p.brand_id
Copy after login

2. Left connection

Use the LEFT JOIN clause in the left connection to query from multiple Table data, it returns all rows in the left table and matching rows in the right table. If no matching row is found in the right table, use NULL instead to display, as shown in the figure:

Lets talk about SQL table connections

Use the LEFT JOIN statement to connect: as shown below:

SELECT p.product_name, p.list_price ,c.category_nameFROM production.products p LEFT JOIN production.categories c ON c.category_id = p.category_id
Copy after login

In the above syntax, the table following FROM is the left table (production.products), and the right table (production.categories) immediately following LEFT JOIN.

3. Right join

Use the RIGHT JOIN clause in the right join to query two or more tables. The right query is just the opposite of the left query. It returns all the rows of the right table and the matching rows of the left table. If no matching rows are found in the left table, NULL is returned instead of display, as shown in the figure:

Lets talk about SQL table connections

Use the RIGHT JOIN statement to connect: as shown below:

SELECT p.product_name, p.list_price ,c.category_nameFROM production.products p RIGHT JOIN production.categories c ON c.category_id = p.category_id
Copy after login

In the above syntax, the table following FROM is the left table (production.products), and the table immediately following RIGHT JOIN Follow the right table (production.categories).

4. Cross join

CROSS JOIN joins two or more unrelated tables. The following is the syntax of CROSS JOIN between two tables. There are two ways of writing:

SELECT T1.select_list FROM T1 CROSS JOIN T2;
Copy after login

or

SELECT T1.select_list FROM T1, T2;
Copy after login

CROSS JOIN. Combine each row in the first table (T1) with the second table ( Each row in T2) is concatenated. In other words, a cross join returns the Cartesian product of the rows in the two tables. Unlike INNER JOIN or LEFT JOIN, a cross join does not establish a relationship between the joined tables.
Suppose the T1 table contains three rows: 1 , 2 and 3 , and the T2 table contains three rows: A , B and C . CROSS JOIN takes a row from the first table (T1) and creates a new row for each row in the second table (T2). Then it does the same for the next row in the first table (T1), and so on. In this figure, the CROSS JOIN creates a total of 9 rows.

5. Self-join

Self-join is used to connect a table to itself (the same table). It is useful for querying hierarchical data or comparing rows in the same table.
Self joins use inner join or left join clauses. Because queries using self-joins reference the same table, table aliases are used to assign different names to the tables in the query.
Note: If you reference the same table multiple times in a query without using a table alias, an error will occur.
Example:

SELECT t1.select_list FROM T1 t1INNER JOIN T1 t2 ON t1.category_id = t2.category_id
Copy after login

You can use other clauses here in INNER JOIN, such as: LEFT JOIN, RIGHT JOIN

6. Full outer join

FULL OUTER JOIN This command returns all rows when there is a match in the left or right table. As shown in the figure:

Lets talk about SQL table connections

Use FULL OUTER JOIN to query the data in the pm.projects table and pm.member table:

SELECT m.name member, p.title project FROM pm.members m FULL OUTER JOIN pm.projects p ON p.id = m.project_id;
Copy after login

pm.projects table data :
Lets talk about SQL table connections

pm.member table data:

Lets talk about SQL table connections

Query results:
Lets talk about SQL table connections

Recommended study: "SQL Tutorial"

The above is the detailed content of Let's talk about SQL table connections. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
sql
source:csdn.net
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
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!