98 lines
4.8 KiB
Markdown
98 lines
4.8 KiB
Markdown
|
---
|
||
|
title: SQL Inner Join Keyword
|
||
|
---
|
||
|
|
||
|
## SQL Inner Join Keyword
|
||
|
|
||
|
### Example of use
|
||
|
For this guide we'll discuss the SQL (INNER) Joins
|
||
|
|
||
|
### Join (same as Inner Join)
|
||
|
The student table will be in the FROM clause so it will be a starting or LEFT table.
|
||
|
|
||
|
We'll JOIN this to the student contact table or RIGHT table.
|
||
|
You'll see that all of the students appear that ALSO are in the contact table. As shown in the tables below, studentID 9 is in the student table but NOT in the contact table so won't appear in a join.
|
||
|
|
||
|
SQL Statement
|
||
|
```sql
|
||
|
SELECT a.studentID, a.FullName, a.programOfStudy,
|
||
|
b.`student-phone-cell`, b.`student-US-zipcode`
|
||
|
FROM student AS a
|
||
|
INNER JOIN `student-contact-info` AS b ON a.studentID = b.studentID;
|
||
|
```
|
||
|
|
||
|
"Joined" data
|
||
|
``` text
|
||
|
+-----------+------------------------+------------------+--------------------+--------------------+
|
||
|
| studentID | FullName | programOfStudy | student-phone-cell | student-US-zipcode |
|
||
|
+-----------+------------------------+------------------+--------------------+--------------------+
|
||
|
| 1 | Monique Davis | Literature | 555-555-5551 | 97111 |
|
||
|
| 2 | Teri Gutierrez | Programming | 555-555-5552 | 97112 |
|
||
|
| 3 | Spencer Pautier | Programming | 555-555-5553 | 97113 |
|
||
|
| 4 | Louis Ramsey | Programming | 555-555-5554 | 97114 |
|
||
|
| 5 | Alvin Greene | Programming | 555-555-5555 | 97115 |
|
||
|
| 6 | Sophie Freeman | Programming | 555-555-5556 | 97116 |
|
||
|
| 7 | Edgar Frank "Ted" Codd | Computer Science | 555-555-5557 | 97117 |
|
||
|
| 8 | Donald D. Chamberlin | Computer Science | 555-555-5558 | 97118 |
|
||
|
+-----------+------------------------+------------------+--------------------+--------------------+
|
||
|
```
|
||
|
### Complete table listings for reference
|
||
|
|
||
|
Student table SQL
|
||
|
|
||
|
```sql
|
||
|
SELECT a.studentID, a.FullName, sat_score, a.programOfStudy, schoolEmailAdr
|
||
|
FROM student AS a;
|
||
|
```
|
||
|
|
||
|
student or LEFT table
|
||
|
```text
|
||
|
+-----------+------------------------+-----------+------------------+------------------------+
|
||
|
| studentID | FullName | sat_score | programOfStudy | schoolEmailAdr |
|
||
|
+-----------+------------------------+-----------+------------------+------------------------+
|
||
|
| 1 | Monique Davis | 400 | Literature | Monique@someSchool.edu |
|
||
|
| 2 | Teri Gutierrez | 800 | Programming | Teri@someSchool.edu |
|
||
|
| 3 | Spencer Pautier | 1000 | Programming | Spencer@someSchool.edu |
|
||
|
| 4 | Louis Ramsey | 1200 | Programming | Louis@someSchool.edu |
|
||
|
| 5 | Alvin Greene | 1200 | Programming | Alvin@someSchool.edu |
|
||
|
| 6 | Sophie Freeman | 1200 | Programming | Sophie@someSchool.edu |
|
||
|
| 7 | Edgar Frank "Ted" Codd | 2400 | Computer Science | Edgar@someSchool.edu |
|
||
|
| 8 | Donald D. Chamberlin | 2400 | Computer Science | Donald@someSchool.edu |
|
||
|
| 9 | Raymond F. Boyce | 2400 | Computer Science | Raymond@someSchool.edu |
|
||
|
+-----------+------------------------+-----------+------------------+------------------------+
|
||
|
9 rows in set (0.00 sec)
|
||
|
|
||
|
|
||
|
```sql
|
||
|
SELECT * FROM `student-contact-info` AS b;
|
||
|
```
|
||
|
|
||
|
student contact table or RIGHT table
|
||
|
``` text
|
||
|
+-----------+----------------------------------+--------------------+--------------------+
|
||
|
| studentID | studentEmailAddr | student-phone-cell | student-US-zipcode |
|
||
|
+-----------+----------------------------------+--------------------+--------------------+
|
||
|
| 1 | Monique.Davis@freeCodeCamp.org | 555-555-5551 | 97111 |
|
||
|
| 2 | Teri.Gutierrez@freeCodeCamp.org | 555-555-5552 | 97112 |
|
||
|
| 3 | Spencer.Pautier@freeCodeCamp.org | 555-555-5553 | 97113 |
|
||
|
| 4 | Louis.Ramsey@freeCodeCamp.org | 555-555-5554 | 97114 |
|
||
|
| 5 | Alvin.Green@freeCodeCamp.org | 555-555-5555 | 97115 |
|
||
|
| 6 | Sophie.Freeman@freeCodeCamp.org | 555-555-5556 | 97116 |
|
||
|
| 7 | Maximo.Smith@freeCodeCamp.org | 555-555-5557 | 97117 |
|
||
|
| 8 | Michael.Roach@freeCodeCamp.ort | 555-555-5558 | 97118 |
|
||
|
+-----------+----------------------------------+--------------------+--------------------+
|
||
|
8 rows in set (0.00 sec)
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
### Conclusion
|
||
|
|
||
|
|
||
|
As with all of these SQL things there is MUCH MORE to them than what's in this introductory guide.
|
||
|
|
||
|
I hope this at least gives you enough to get started.
|
||
|
|
||
|
Please see the manual for your database manager and have fun trying different options yourself.
|
||
|
|