ISqlJoinBuilder.InnerJoin(ISqlBuilder sqlBuilder, string alias) Method
.NET Standard 2.x
Uses the INNER JOIN
operator to join the original table source and the new table source (specified by a subquery generated by an ISqlBuilder
object) to create a joined table. You need to specify an alias for the new table source.
Namespace: SnapObjects.Data
Assembly: SnapObjects.Data.dll
Syntax
ISqlJoinOnBuilder InnerJoin(ISqlBuilder sqlBuilder, string alias);
Parameters
sqlBuilder
SnapObjects.Data.ISqlBuilder
An ISqlBuilder
object which represents a subquery.
alias
System.String
The alias of the new table source specified by the sqlBuilder
parameter.
Returns
SnapObjects.Data.ISqlJoinOnBuilder
Returns an ISqlJoinOnBuilder
object which can be used to create the condition on which the join is based.
Examples
The following code example demonstrates how to join a table with another using the InnerJoin method.
using SnapObjects.Data;
using System;
namespace Appeon.ApiDoc.ISqlJoinBuilderExamples
{
public class InnerJoinExample
{
private readonly SchoolContext _context;
public InnerJoinExample(SchoolContext dataContext)
{
// Sets data context.
_context = dataContext;
}
public void Example4()
{
var sqlQueryBuilder = new SqlQueryBuilder();
// Defines a query and gets DepartmentID and Title from the "Course" table.
var sqlBuilder = new SqlQueryBuilder();
sqlBuilder.Select("DepartmentID")
.Select("Title")
.From("Course");
// Gets DepartmentID and Name from the "Department" table, and Title from the "Course" table.
// Sets to join "Department" table and "Course" table by: Department.DepartmentID = Course.DepartmentID.
// Specifies "Course" as the alias for the query table.
sqlQueryBuilder
.Select("Department.DepartmentID")
.Select("Department.Name")
.Select("Course.Title")
.From("Department")
.InnerJoin(sqlBuilder, "Course")
.OnRaw("Department.DepartmentID = Course.DepartmentID");
// Converts to raw SQL for the database corresponding to the data context.
string sql = sqlQueryBuilder.ToSqlString(_context);
Console.WriteLine(sql);
/*This code example produces the following output:
SELECT
[Department].[DepartmentID],
[Department].[Name],
[Course].[Title]
FROM [Department]
Inner JOIN (SELECT
[DepartmentID],
[Title]
FROM [Course]) AS [Course]
ON [Department].[DepartmentID] = [Course].[DepartmentID]
*/
}
}
}
Applies to
.NET Standard
2.x