Let's talk about SQL table connections
This article brings you relevant knowledge about SQL, 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.
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
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:
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
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:
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
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:
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
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;
or
SELECT T1.select_list FROM T1, T2;
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
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:
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;
pm.projects table data :
pm.member table data:
Query results:
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

HQL and SQL are compared in the Hibernate framework: HQL (1. Object-oriented syntax, 2. Database-independent queries, 3. Type safety), while SQL directly operates the database (1. Database-independent standards, 2. Complex executable queries and data manipulation).

"Usage of Division Operation in OracleSQL" In OracleSQL, division operation is one of the common mathematical operations. During data query and processing, division operations can help us calculate the ratio between fields or derive the logical relationship between specific values. This article will introduce the usage of division operation in OracleSQL and provide specific code examples. 1. Two ways of division operations in OracleSQL In OracleSQL, division operations can be performed in two different ways.

Oracle and DB2 are two commonly used relational database management systems, each of which has its own unique SQL syntax and characteristics. This article will compare and differ between the SQL syntax of Oracle and DB2, and provide specific code examples. Database connection In Oracle, use the following statement to connect to the database: CONNECTusername/password@database. In DB2, the statement to connect to the database is as follows: CONNECTTOdataba

Interpretation of MyBatis dynamic SQL tags: Detailed explanation of Set tag usage MyBatis is an excellent persistence layer framework. It provides a wealth of dynamic SQL tags and can flexibly construct database operation statements. Among them, the Set tag is used to generate the SET clause in the UPDATE statement, which is very commonly used in update operations. This article will explain in detail the usage of the Set tag in MyBatis and demonstrate its functionality through specific code examples. What is Set tag Set tag is used in MyBati

What is Identity in SQL? Specific code examples are needed. In SQL, Identity is a special data type used to generate auto-incrementing numbers. It is often used to uniquely identify each row of data in a table. The Identity column is often used in conjunction with the primary key column to ensure that each record has a unique identifier. This article will detail how to use Identity and some practical code examples. The basic way to use Identity is to use Identit when creating a table.

When Springboot+Mybatis-plus does not use SQL statements to perform multi-table adding operations, the problems I encountered are decomposed by simulating thinking in the test environment: Create a BrandDTO object with parameters to simulate passing parameters to the background. We all know that it is extremely difficult to perform multi-table operations in Mybatis-plus. If you do not use tools such as Mybatis-plus-join, you can only configure the corresponding Mapper.xml file and configure The smelly and long ResultMap, and then write the corresponding sql statement. Although this method seems cumbersome, it is highly flexible and allows us to

Solution: 1. Check whether the logged-in user has sufficient permissions to access or operate the database, and ensure that the user has the correct permissions; 2. Check whether the account of the SQL Server service has permission to access the specified file or folder, and ensure that the account Have sufficient permissions to read and write the file or folder; 3. Check whether the specified database file has been opened or locked by other processes, try to close or release the file, and rerun the query; 4. Try as administrator Run Management Studio as etc.

How to use SQL statements for data aggregation and statistics in MySQL? Data aggregation and statistics are very important steps when performing data analysis and statistics. As a powerful relational database management system, MySQL provides a wealth of aggregation and statistical functions, which can easily perform data aggregation and statistical operations. This article will introduce the method of using SQL statements to perform data aggregation and statistics in MySQL, and provide specific code examples. 1. Use the COUNT function for counting. The COUNT function is the most commonly used
