Subqueries are SELECT statements that are nested within another T-SQL statement. : Subquery « Subquery « SQL Server / T-SQL Tutorial






5>
6> CREATE TABLE titles(
7>    title_id       varchar(20),
8>    title          varchar(80)       NOT NULL,
9>    type           char(12)          NOT NULL,
10>    pub_id         char(4)               NULL,
11>    price          money                 NULL,
12>    advance        money                 NULL,
13>    royalty        int                   NULL,
14>    ytd_sales      int                   NULL,
15>    notes          varchar(200)          NULL,
16>    pubdate        datetime          NOT NULL
17> )
18> GO
1>
2> insert titles values ('1', 'Secrets',   'popular_comp', '1389', $20.00, $8000.00, 10, 4095,'Note 1','06/12/94')
3> insert titles values ('2', 'The',       'business',     '1389', $19.99, $5000.00, 10, 4095,'Note 2','06/12/91')
4> insert titles values ('3', 'Emotional', 'psychology',   '0736', $7.99,  $4000.00, 10, 3336,'Note 3','06/12/91')
5> insert titles values ('4', 'Prolonged', 'psychology',   '0736', $19.99, $2000.00, 10, 4072,'Note 4','06/12/91')
6> insert titles values ('5', 'With',      'business',     '1389', $11.95, $5000.00, 10, 3876,'Note 5','06/09/91')
7> insert titles values ('6', 'Valley',    'mod_cook',     '0877', $19.99, $0.00,    12, 2032,'Note 6','06/09/91')
8> insert titles values ('7', 'Any?',      'trad_cook',    '0877', $14.99, $8000.00, 10, 4095,'Note 7','06/12/91')
9> insert titles values ('8', 'Fifty',     'trad_cook',    '0877', $11.95, $4000.00, 14, 1509,'Note 8','06/12/91')
10> GO

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)
1>
2> CREATE TABLE sales(
3>    stor_id        char(4)           NOT NULL,
4>    ord_num        varchar(20)       NOT NULL,
5>    ord_date       datetime          NOT NULL,
6>    qty            smallint          NOT NULL,
7>    payterms       varchar(12)       NOT NULL,
8>    title_id       varchar(80)
9> )
10> GO
1> insert sales values('1', 'QA7442.3', '09/13/94', 75, 'ON Billing','1')
2> insert sales values('2', 'D4482',    '09/14/94', 10, 'Net 60',    '1')
3> insert sales values('3', 'N914008',  '09/14/94', 20, 'Net 30',    '2')
4> insert sales values('4', 'N914014',  '09/14/94', 25, 'Net 30',    '3')
5> insert sales values('5', '423LL922', '09/14/94', 15, 'ON Billing','3')
6> insert sales values('6', '423LL930', '09/14/94', 10, 'ON Billing','2')
7>
8> GO

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)
1>
2>      SELECT    title, price
3>      FROM      titles
4>      WHERE     title_id IN
5>                (SELECT   title_id
6>                FROM      sales
7>                WHERE     qty > 30)
8> GO
title                                                                            price
-------------------------------------------------------------------------------- ---------------------
Secrets                                                                                        20.0000

(1 rows affected)
1>
2> drop table sales;
3> drop table titles;
4> GO
1>








8.1.Subquery
8.1.1.Building a Nested Subquery
8.1.2.Using Subqueries to Check for the Existence of Matches
8.1.3.Using Subqueries to Check for the Existence of Matches between two tables
8.1.4.Subqueries are SELECT statements that are nested within another T-SQL statement.
8.1.5.Subqueries and Comparison Operators: =
8.1.6.A subquery can be used with other comparison operators: <
8.1.7.Subqueries and IN Operator
8.1.8.A query that uses three subqueries
8.1.9.Doing calculation with subquery
8.1.10.Subqueries can be nested.
8.1.11.ID NOT IN (SELECT ID FROM Title)
8.1.12.Delete with subquery
8.1.13.Join and sub query
8.1.14.Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
8.1.15.subquery with >=
8.1.16.<> ALL with subquery