Have a question?
Message sent Close
View Categories

SQL Inner Join

3 min read

INNER JOIN #

The INNER JOIN keyword selects records that have matching values in both tables.

INNER JOIN түлхүүр үг нь хоёр хүснэгтэд таарч буй утгатай мэдээллүүдийг сонгодог.

Let’s look at a selection of the Products table:

Бүтээгдэхүүнүүд хүснэгтийн хэсгийг үзье:

ProductID ProductName CategoryID Price
1 Chais 1 18
2 Chang 1 19
3 Aniseed Syrup 2 10

And a selection of the Categories table:

Бас Ангиллууд хүснэгтээс хэсгийг үзье:

CategoryID CategoryName Description
1 Beverages Soft drinks, coffees, teas, beers, and ales
2 Condiments Sweet and savory sauces, relishes, spreads, and seasonings
3 Confections Desserts, candies, and sweet breads

We will join the Products table with the Categories table, by using the CategoryID field from both tables:

Бүтээгдэхүүнүүд хүснэгт, Ангиллууд хүснэгтийн АнгилалID талбараар нь холбож үзье:

Example – Жишээ #

Join Products and Categories with the INNER JOIN keyword:

INNER JOIN түлхүүр үгээр Products болон Categories хүснэгтүүдийг холбох:

SELECT ProductID, ProductName, CategoryName
FROM Products
INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID;

SQL INNER JOIN

Note: The INNER JOIN keyword returns only rows with a match in both tables. Which means that if you have a product with no CategoryID, or with a CategoryID that is not present in the Categories table, that record would not be returned in the result.

Тэмдэглэл: INNER JOIN түлхүүр үг нь зөвхөн хоёр хүснэгтэд таарсан мөрүүдийг буцаана. Энэ нь хэрэв таны бүтээгдэхүүнд CategoryID байхгүй эсвэл Categories хүснэгтэд байхгүй CategoryID-тэй бол тэр мэдээллийн үр дүнд орохгүй гэсэн үг юм.


Syntax – Дүрэм #

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

SELECT багана_нэр(нууд)
FROM хүснэгт1
INNER JOIN хүснэгт2
ON хүснэгт1.багана_нэр = хүснэгт2.багана_нэр;

Naming the Columns – Багануудаа нэрлэх #

It is a good practice to include the table name when specifying columns in the SQL statement.

SQL өгүүлбэрт багануудыг зааж өгөхдөө хүснэгтийн нэрийг оруулах нь сайн арга юм.

Example – Жишээ #

Specify the table names:

Хүснэгтийн нэрийг тодорхойлох:

SELECT Products.ProductID, Products.ProductName, Categories.CategoryName
FROM Products
INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID;

The example above works without specifying table names, because none of the specified column names are present in both tables. If you try to include CategoryID in the SELECT statement, you will get an error if you do not specify the table name (because CategoryID is present in both tables).

Дээрх жишээ нь хүснэгтийн нэрийг тодорхойлохгүйгээр ажилладаг, учир нь тодорхойлсон баганын нэрс хоёр хүснэгтэд хоёуланд нь байхгүй. Хэрэв та SELECT өгүүлбэрт CategoryID-г оруулахыг оролдвол хүснэгтийн нэрийг тодорхойлохгүй бол алдаа гарна (учир нь CategoryID нь хоёр хүснэгтэд хоёуланд нь байдаг).


JOIN or INNER JOIN #

JOIN and INNER JOIN will return the same result.

JOIN болон INNER JOIN нь ижил үр дүнг буцаана.

INNER is the default join type for JOIN, so when you write JOIN the parser actually writes INNER JOIN.

INNER нь JOIN-ийн анхны өгөгдмөл төрөл тул та JOIN гэж бичихэд, үнэндээ INNER JOIN гэж бичсэн гэсэн үг юм.

Example – Жишээ #

JOIN is the same as INNER JOIN:

JOIN нь INNER JOIN-тэй ижил:

SELECT Products.ProductID, Products.ProductName, Categories.CategoryName
FROM Products
JOIN Categories ON Products.CategoryID = Categories.CategoryID;

JOIN Three Tables – Гурван хүснэгтийг холбох #

The following SQL statement selects all orders with customer and shipper information:

Доорх SQL өгүүлбэр нь бүх захиалгыг харилцагч болон ачаа илгээгчийн мэдээлэлтэй сонгоно:

Here is the Shippers table:

Энд Ачаа илгээгчид хүснэгт байна:

ShipperID ShipperName Phone
1 Speedy Express (503) 555-9831
2 United Package (503) 555-3199
3 Federal Shipping (503) 555-9931

Example – Жишээ #

SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);

Powered by BetterDocs

Leave a Reply