This SQL Server tutorial will explain the use of SQL Server Join with Max Date function.
The MAX() function in SQL Server is utilized to fetch a maximum value from the set of values. Now there will be a requirement where we need to fetch maximum values from multiple tables. In such cases, we need to understand how to use the SQL Server Join to get the maximum date value.
Here is the set of topics that we will cover.
- Introduction to SQL Server Max Function
- Working of SQL Server Join With Max Date
- SQL Server Join With Max Date Between Two Dates
- SQL Server Join With Max Date By Group
- How to use SQL Server Join With Max Date Count
- SQL Server Join With Max Date From Multiple Columns
- SQL Server Join With Max Date Greater Than
- How to use SQL Server Join With Max Date Having
- How to use SQL Server Left Join With Max Date
- How to use SQL Server Join With Max Date Minus 1 Day
- SQL Server Join With Max Date Previous Year
SQL Server Max Function
The SQL Server MAX function is used to return the maximum value in a set of values by the query.
SYNTAX:
SELECT MAX ( EXPRESSION )
FROM TABLE_NAME;
In the syntax explanation:
- EXPRESSION: It can be a string, number or DATE/TIME value.

EXAMPLE:
SELECT MAX( STUDENT_ADMITDATE ) AS MAX_DATE
FROM HARVARD_UNIVERSITY;
In the SELECT statement query, we retrieved the maximum date value of the STUDENT_ADMITDATE column from the HARVARD_UNIVERSITY table.

SQL Server Join With Max Date
Using a common column between two or more tables, a JOIN clause is used to merge rows from those tables.
Here are two tables i.e; STUDENT and ADMISSION_DPT which are used with the JOIN clause in the result set.


EXAMPLE:
SELECT MAX(ADMISSION_DPT.COURSE_STARTDATE) AS MAX_DATE
FROM ADMISSION_DPT
INNER JOIN STUDENT
ON ADMISSION_DPT.ADMISSION_NUMBER=STUDENT.ADMISSION_NUMBER;
With the help of the INNER JOIN in the SELECT statement, we extracted the maximum date value of the COURSE_STARTDATE column from both tables i.e.; ADMISSION_DPT and STUDENT tables.

We hope you’ve understood how to use the SQL Server MAX function to return the maximum date value with a JOIN clause on both tables.
Read: SQL Server OUTER JOIN
SQL Server Join With Max Date Between Two Dates
In this SQL Server subtopic, we will learn and understand how to use the MAX function with the JOIN clause and the WHERE condition on tables by the following query:
EXAMPLE:
SELECT MAX(ADMISSION_DPT.COURSE_STARTDATE) AS MAX_DATE
FROM ADMISSION_DPT
INNER JOIN STUDENT
ON ADMISSION_DPT.ADMISSION_NUMBER=STUDENT.ADMISSION_NUMBER
WHERE ADMISSION_DPT.COURSE_STARTDATE BETWEEN '2021-09-01' AND '2021-12-31';
As we see in the above INNER JOIN query example, the SELECT statement extracts the maximum date value of the COURSE_STARTDATE column from both tables i.e.; ADMISSION_DEPT and STUDENT by the WHERE condition.
In the WHERE condition, we filtered the date value between 2021-09-01 and 2021-12-31 of the COURSE_STARTDATE column for the resultset.

By now you should understand how to use the SQL Server JOIN clause with the MAX function and the BETWEEN operator to find the maximum value that is between two dates in both tables by using the query.
Read: SQL Server INNER JOIN Tutorial
SQL Server Join With Max Date By Group
Here is an example of how to use the SQL Server MAX function with the JOIN and GROUP BY clauses on tables by the following query:
EXAMPLE:
SELECT MAX(HARVARD_UNIVERSITY.STUDENT_ADMITDATE) AS MAX_DATE
FROM HARVARD_UNIVERSITY
INNER JOIN TEACHER_OF_HARVARDUNIVERSITY
ON HARVARD_UNIVERSITY.STUDENT_ID=TEACHER_OF_HARVARDUNIVERSITY.TEACHER_ID
GROUP BY HARVARD_UNIVERSITY.STUDENT_FIRSTNAME;
Therefore, depending on the INNER JOIN clause, the SELECT statement extracts the maximum date value from both tables i.e.; HARVARD_UNIVERSITY and TEACHER_OF_HARVARDUNIVERSITY.

We hope that you have understood how to use the SQL Server MAX function with JOIN and GROUP BY clauses on both tables by the query.
Read: RIGHT JOIN in SQL Server
SQL Server Join With Max Date Count
Let’s see an example of SQL Server MAX and COUNT functions with the JOIN clause on tables in the following query.
If you want more details of the COUNT function then kindly look into the “SQL Server COUNT function”.
EXAMPLE:
SELECT MAX(ADMISSION_DPT.COURSE_STARTDATE) AS MAX_DATE,
COUNT(*) AS TOTAL_COUNT
FROM ADMISSION_DPT
INNER JOIN STUDENT
ON ADMISSION_DPT.ADMISSION_NUMBER=STUDENT.ADMISSION_NUMBER;
In the INNER JOIN query example, we extracted the maximum date value of the COURSE_STARTDATE column and also counted all records from both tables i.e.; ADMISSION_DEPT and STUDENT tables.

We hope that you have understood how to use the SQL Server MAX function and COUNT function with the JOIN clause on both tables by the query.
Read: Delete From With Join in SQL Server
SQL Server Join With Max Date From Multiple Columns
Let’s utilize the JOIN clause on the tables and the SQL Server MAX function to discover the DATE column’s maximum value among several columns:
SELECT MAX(ADMISSION_DPT.COURSE_STARTDATE) AS MAX_STARTDATE,
MAX(ADMISSION_DPT.COURSE_ENDDATE) AS MAX_ENDDATE
FROM ADMISSION_DPT
INNER JOIN STUDENT
ON ADMISSION_DPT.ADMISSION_NUMBER=STUDENT.ADMISSION_NUMBER;
With the help of the INNER JOIN in the SELECT statement, we extracted the maximum date value of the COURSE_STARTDATE and COURSE_ENDDATE columns from both tables i.e.; ADMISSION_DEPT and STUDENT tables.

We trust you now understand how to utilize the JOIN clause on tables by the query and the SQL Server MAX function on several fields to determine the maximum date value.
Read: SQL Server Select a Join Without Join
SQL Server Join With Max Date Greater Than
Here is an example of SQL Server MAX function with the JOIN and GREATER THAN operators on tables by the following query:
EXAMPLE:
SELECT MAX(ADMISSION_DPT.COURSE_STARTDATE) AS MAX_STARTDATE
FROM ADMISSION_DPT
INNER JOIN STUDENT
ON ADMISSION_DPT.ADMISSION_NUMBER=STUDENT.ADMISSION_NUMBER
WHERE ADMISSION_DPT.ADMISSION_NUMBER> 4562;
The maximum date value of the COURSE_STARTDATE column, which is utilized with the WHERE condition, is brought by the SELECT MAX statement with the aid of the INNER JOIN clause.
Additionally, the ADMISSION_NUMBER column’s date value larger than 4562 is used in the WHERE condition to filter the resultset.

We hope that you have understood how to use the SQL Server MAX function with the JOIN clause and the GREATER THAN operator. This will enable you to find the maximum date value from both tables by a query.
Read: How To Update Table Using JOIN in SQL Server
SQL Server Join With Max Date Having
The HAVING clause is combined with the GROUP BY clause to filter groups based on a predetermined set of criteria.
EXAMPLE:
SELECT MAX(ADMISSION_DPT.COURSE_ENDDATE) AS MAX_ENDDATE
FROM ADMISSION_DPT
INNER JOIN STUDENT
ON ADMISSION_DPT.ADMISSION_NUMBER=STUDENT.ADMISSION_NUMBER
GROUP BY ADMISSION_DPT.ADMISSION_NUMBER
HAVING MAX(ADMISSION_DPT.ADMISSION_NUMBER)> '2024-01-01';
Therefore, by using the INNER JOIN clause, the SELECT MAX query returns the maximum date value of the COURSE_ENDDATE column. Then, we filtered the groups based on the MAX function bigger than 2024-01-01 in the result set before grouping the records based on the ADMISSION_NUMBER column.

We hope that you have understood how to use the MAX function with JOIN and HAVING clauses to find the max date value from both tables in the query.
Read: SQL Server SELF JOIN
SQL Server Left Join With Max Date
The SQL Server LEFT JOIN clause is used to retrieve all records from the left_table (table_1) and with matching records from the right_table (table_2). But if there is no match, the result is 0 records from the right_table.
Here is an example of SQL Sever MAX function with the LEFT JOIN clause on tables by the following query:
EXAMPLE:
SELECT MAX(ADMISSION_DPT.COURSE_ENDDATE) AS MAX_STARTDATE
FROM ADMISSION_DPT
LEFT JOIN STUDENT
ON ADMISSION_DPT.ADMISSION_NUMBER=STUDENT.ADMISSION_NUMBER
With the help of the LEFT JOIN in the SELECT statement, we extracted the maximum date value of the COURSE_ENDDATE column from both tables i.e.; ADMISSION and STUDENT tables.

We hope that you have understood how to use the SQL Server MAX function to maximum date value with the LEFT JOIN clause on both tables by the query.
Read: View SQL Server Error Logs
SQL Server Join With Max Date Minus 1 Day
To calculate the PREVIOUS DAY, we have to use the SQL Server DATEADD function in the query. The definition says “a time/date interval is added to date via the DATEADD() function, which then returns the original date.
EXAMPLE:
SELECT MAX(DATEADD(day,-1,ADMISSION_DPT.COURSE_STARTDATE)) AS MAX_STARTDATE
FROM ADMISSION_DPT
INNER JOIN STUDENT
ON ADMISSION_DPT.ADMISSION_NUMBER=STUDENT.ADMISSION_NUMBER;
With the help of the DATEADD function, it will calculate the previous day and find out the maximum date value by the MAX function on the COURSE_STARTDATE column. Both tables are then joined with an INNER JOIN clause to retrieve the records in the result set.

We hope that you have understood how to use the SQL Server MAX function to find the maximum previous day value on both tables by the query using the JOIN clause.
Read: Could not find stored procedure in SQL Server
SQL Server Join With Max Date Previous Year
The following query shows how to use the SQL Server DATEADD function again to determine the previous year, then use the MAX function to calculate the maximum date value using the JOIN clause on both tables:
EXAMPLE:
SELECT MAX(DATEADD(YEAR,-1,ADMISSION_DPT.COURSE_STARTDATE)) AS MAX_STARTDATE
FROM ADMISSION_DPT
INNER JOIN STUDENT
ON ADMISSION_DPT.ADMISSION_NUMBER=STUDENT.ADMISSION_NUMBER;
In the INNER JOIN query example, we calculated the previous year by the dateadd function and find the maximum year value from both tables i.e.; ADMISSION and STUDENT tables.

We trust that you now fully grasp how to use the JOIN clause on both tables along with the SQL Server MAX and DATEADD functions to determine the maximum date value for the resultset.
Also, take a look at some more SQL Server tutorials.
- SQL Server Trigger Update with Examples
- SQL Server Trigger After Insert Update
- Trigger For Delete in SQL Server
- Create Trigger in SQL Server for Insert and Update
We now know about the post “SQL Server Join With Max Date “ after reading this tutorial. To assist you in comprehending the idea, we explored the following subtopics in detail.
- Introduction to SQL Server Max Function
- Working of SQL Server Join With Max Date
- SQL Server Join With Max Date Between Two Dates
- SQL Server Join With Max Date By Group
- How to use SQL Server Join With Max Date Count
- SQL Server Join With Max Date From Multiple Columns
- SQL Server Join With Max Date Greater Than
- How to use SQL Server Join With Max Date Having
- How to use SQL Server Left Join With Max Date
- How to use SQL Server Join With Max Date Minus 1 Day
- SQL Server Join With Max Date Previous Year
I am Bijay having more than 15 years of experience in the Software Industry. During this time, I have worked on MariaDB and used it in a lot of projects. Most of our readers are from the United States, Canada, United Kingdom, Australia, New Zealand, etc.
Want to learn MariaDB? Check out all the articles and tutorials that I wrote on MariaDB. Also, I am a Microsoft MVP.