SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees
ON Orders.EmployeeID = Employees.EmployeeID
WHERE Employees.EmployeeID IS NULL
ORDER BY Orders.OrderID;
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Customers
RIGHT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
WHERE Customers.CustomerName
IN ('Alfreds Futterkiste', 'Ana Trujillo Emparedados y helados'
, 'Antonio Moreno Taquería', 'The Big Cheese')
ORDER BY Customers.CustomerName;
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
WHERE Orders.CustomerID IS NULL
AND Customers.CustomerName
IN ('Alfreds Futterkiste', 'Ana Trujillo Emparedados y helados'
, 'Antonio Moreno Taquería', 'The Big Cheese')
ORDER BY Customers.CustomerName;
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
WHERE Customers.CustomerName
IN ('Alfreds Futterkiste', 'Ana Trujillo Emparedados y helados'
, 'Antonio Moreno Taquería', 'The Big Cheese')
ORDER BY Customers.CustomerName;
Note: This is an experimental tutorial that I am building.
Welcome, my name is Alejandro and today we are reviewing SQL Inner Join.
When making a select query, using inner joins, we obtain a combination of rows from our tables. In other words, based on a join condition that matches obtain certain records coming from those tables. In our case, it is going to be between the table A and the table B.
For the table A, we have a list of clients and from the table B; we have a list of services. Both tables have fields known as columns and each column has records known as rows.
You should take particular attention to the field ID in both tables.This field is used to give a unique identifier to each of their records. Also, take attention to the ClientId field in the Services table. Yes. This field is a Foreign Key field, which holds IDs referring to the IDs in the Client table. We are going to match those IDs from both tables when doing the inner join. Below, I included an example of the result table that we wish to obtain.
Let us being by writing a basic select query. First, we are using the wildcard asterisk; this wildcard indicates that we wish to include all the fields, from all tables, used in our query. Second, we have a condition after the keyword ON. This condition will be used by the INNER JOIN to only pull records in which the ID of the client matches the ID in the ClientId fields from the Services table. The rest of the records should be ignored.
As you can see, we have the fields from the table clients, first; then, we have the fields from the services table.
At the Services table, I am showing an example of the record that will not be shown in the result table since there is not a match.
Now, this table does not resemble yet to the result table we wish to obtain. To display our table, as we want it, we need to indicate which fields from which tables we want to display. Plus, we must use the alias keyword AS, which allow us to show a different name for the fields in our result table.
Let’s see this working.
There are may online websites that will allow you to test your queries without requiring installing any software in your computer. One of my favorites is w3schools.com. This website has tutorials, references, quizzes and more.
On your right, you can see a list of tables that are at our disposition. We are going to duplicate what we did previously but using the tables Customers and Orders. From the table Customers, we only care about the fields CustomerId and CustomerName. From the table Orders, we only care for the fields OrderId and OrderDate. The following query will give us the results we wish to see:
Notices once again that we use the alias AS keyword to change the name for the column in our results.
Thank you for your time. I hope short instructional was useful for you. Since this is the first tutorial with video of a bunch I am planning to do. Your feedback is appreciated. Please have in consideration that this is a low budget production which I hope to improve in the long run as income and time allows it.