Title: get_tax_sql
Published: April 25, 2014
Last modified: August 20, 2026

---

# get_tax_sql( array $tax_query, string $primary_table, string $primary_id_column ): string[]

## In this article

 * [Description](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#description)
    - [See also](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#see-also)
 * [Parameters](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#changelog)
 * [User Contributed Notes](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#user-contributed-notes)

[ Back to top](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#wp--skip-link--target)

Given a taxonomy query, generates SQL to be appended to a main query.

## 󠀁[Description](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#description)󠁿

### 󠀁[See also](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#see-also)󠁿

 * [WP_Tax_Query](https://developer.wordpress.org/reference/classes/wp_tax_query/)

## 󠀁[Parameters](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#parameters)󠁿

 `$tax_query`arrayrequired

A compact tax query

`$primary_table`stringrequired

`$primary_id_column`stringrequired

## 󠀁[Return](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#return)󠁿

 string[]

## 󠀁[Source](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#source)󠁿

    ```php
    function get_tax_sql( $tax_query, $primary_table, $primary_id_column ) {
    	$tax_query_obj = new WP_Tax_Query( $tax_query );
    	return $tax_query_obj->get_sql( $primary_table, $primary_id_column );
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/taxonomy.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-includes/taxonomy.php#L926)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/taxonomy.php#L926-L929)

## 󠀁[Related](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#related)󠁿

| Uses | Description | 
| [WP_Tax_Query::__construct()](https://developer.wordpress.org/reference/classes/wp_tax_query/__construct/)`wp-includes/class-wp-tax-query.php` |

Constructor.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#changelog)󠁿

| Version | Description | 
| [3.1.0](https://developer.wordpress.org/reference/since/3.1.0/) | Introduced. |

## 󠀁[User Contributed Notes](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#user-contributed-notes)󠁿

 1.  [Skip to note 2 content](https://developer.wordpress.org/reference/functions/get_tax_sql/?output_format=md#comment-content-1521)
 2.   [Codex](https://profiles.wordpress.org/codex/)  [  11 years ago  ](https://developer.wordpress.org/reference/functions/get_tax_sql/#comment-1521)
 3. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fget_tax_sql%2F%23comment-1521)
    Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fget_tax_sql%2F%23comment-1521)
 4. **Get SQL query part for taxonomy**
 5.     ```php
        $tax_query = array(
            array(
                'taxonomy' => 'category',
                'field'    => 'slug',
                'terms'    => array( 'cat-a', 'cat-b' ),
            )
        );
    
        global $wpdb;
        $tax_sql = get_tax_sql( $tax_query, $wpdb->posts, 'ID' );
        ```
    
 6. Output would be something like:
 7.     ```php
        Array
        (
            [join] =>  INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
            [where] =>  AND ( wp_term_relationships.term_taxonomy_id IN (3,4,10,19,25,95) )
        )
        ```
    
 8.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fget_tax_sql%2F%3Freplytocom%3D1521%23feedback-editor-1521)

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fget_tax_sql%2F)
before being able to contribute a note or feedback.