Home / Function/ joinSubquery() — drizzle-orm Function Reference

joinSubquery() — drizzle-orm Function Reference

Architecture documentation for the joinSubquery() function in index.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  db4c3378_9527_8c5a_09fb_55db2dda2e57["joinSubquery()"]
  34f01008_7c45_3804_1fad_b8b59cd8a413["MyDurableObject"]
  db4c3378_9527_8c5a_09fb_55db2dda2e57 -->|defined in| 34f01008_7c45_3804_1fad_b8b59cd8a413
  7c7acbfe_6328_c8df_feba_552ee62a84d9["default.fetch()"]
  7c7acbfe_6328_c8df_feba_552ee62a84d9 -->|calls| db4c3378_9527_8c5a_09fb_55db2dda2e57
  b19b108f_def7_3a32_99a3_c8be51ce2fbf["beforeEach()"]
  db4c3378_9527_8c5a_09fb_55db2dda2e57 -->|calls| b19b108f_def7_3a32_99a3_c8be51ce2fbf
  style db4c3378_9527_8c5a_09fb_55db2dda2e57 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

integration-tests/tests/sqlite/durable-objects/index.ts lines 1443–1491

	async joinSubquery(): Promise<void> {
		try {
			await this.beforeEach();
			this.db
				.insert(courseCategoriesTable)
				.values([{ name: 'Category 1' }, { name: 'Category 2' }, { name: 'Category 3' }, { name: 'Category 4' }])
				.run();

			this.db
				.insert(coursesTable)
				.values([
					{ name: 'Development', categoryId: 2 },
					{ name: 'IT & Software', categoryId: 3 },
					{ name: 'Marketing', categoryId: 4 },
					{ name: 'Design', categoryId: 1 },
				])
				.run();

			const sq2 = this.db
				.select({
					categoryId: courseCategoriesTable.id,
					category: courseCategoriesTable.name,
					total: sql<number>`count(${courseCategoriesTable.id})`,
				})
				.from(courseCategoriesTable)
				.groupBy(courseCategoriesTable.id, courseCategoriesTable.name)
				.as('sq2');

			const res = await this.db
				.select({
					courseName: coursesTable.name,
					categoryId: sq2.categoryId,
				})
				.from(coursesTable)
				.leftJoin(sq2, eq(coursesTable.categoryId, sq2.categoryId))
				.orderBy(coursesTable.name)
				.all();

			expect(res).deep.equal([
				{ courseName: 'Design', categoryId: 1 },
				{ courseName: 'Development', categoryId: 2 },
				{ courseName: 'IT & Software', categoryId: 3 },
				{ courseName: 'Marketing', categoryId: 4 },
			]);
		} catch (error: any) {
			console.error(error);
			throw new Error(`joinSubquery error`);
		}
	}

Domain

Subdomains

Calls

Called By

Frequently Asked Questions

What does joinSubquery() do?
joinSubquery() is a function in the drizzle-orm codebase, defined in integration-tests/tests/sqlite/durable-objects/index.ts.
Where is joinSubquery() defined?
joinSubquery() is defined in integration-tests/tests/sqlite/durable-objects/index.ts at line 1443.
What does joinSubquery() call?
joinSubquery() calls 1 function(s): beforeEach.
What calls joinSubquery()?
joinSubquery() is called by 1 function(s): default.fetch.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free