Use aggregate function MAX in subquery : Subquery Aggregate Functions « Subquery « SQL Server / T-SQL

Home
SQL Server / T-SQL
1.Aggregate Functions
2.Analytical Functions
3.Constraints
4.Cursor
5.Data Set
6.Data Type
7.Database
8.Date Timezone
9.Index
10.Insert Delete Update
11.Math Functions
12.Select Query
13.Sequence
14.Store Procedure Function
15.String Functions
16.Subquery
17.System
18.Table
19.Table Joins
20.Transact SQL
21.Transaction
22.Trigger
23.View
24.XML
SQL Server / T-SQL » Subquery » Subquery Aggregate Functions 
Use aggregate function MAX in subquery


1CREATE TABLE works_on        (emp_no       INTEGER NOT NULL,
2>                         project_no    CHAR(4NOT NULL,
3>                         job CHAR (15NULL,
4>                         enter_date    DATETIME NULL)
5>
6insert into works_on values (1'p1', 'analyst', '1997.10.1')
7insert into works_on values (1'p3', 'manager', '1999.1.1')
8insert into works_on values (2'p2', 'clerk',   '1998.2.15')
9insert into works_on values (2'p2',  NULL,     '1998.6.1')
10insert into works_on values (3'p2',  NULL,     '1997.12.15')
11insert into works_on values (4'p3', 'analyst', '1998.10.15')
12insert into works_on values (5'p1', 'manager', '1998.4.15')
13insert into works_on values (6'p1',  NULL,     '1998.8.1')
14insert into works_on values (7'p2', 'clerk',   '1999.2.1')
15insert into works_on values (8'p3', 'clerk',   '1997.11.15')
16insert into works_on values (7'p1', 'clerk',   '1998.1.4')
17> GO

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)
1>
2select from works_on
3> GO
emp_no      project_no job             enter_date
----------- ---------- --------------- -----------------------
          p1         analyst         1997-10-01 00:00:00.000
          p3         manager         1999-01-01 00:00:00.000
          p2         clerk           1998-02-15 00:00:00.000
          p2         NULL            1998-06-01 00:00:00.000
          p2         NULL            1997-12-15 00:00:00.000
          p3         analyst         1998-10-15 00:00:00.000
          p1         manager         1998-04-15 00:00:00.000
          p1         NULL            1998-08-01 00:00:00.000
          p2         clerk           1999-02-01 00:00:00.000
          p3         clerk           1997-11-15 00:00:00.000
          p1         clerk           1998-01-04 00:00:00.000

(11 rows affected)
1>
2> -- Use aggregate function MAX.
3>
4SELECT emp_no FROM works_on WHERE enter_date =
5>        (SELECT MAX(enter_date)
6>          FROM works_on WHERE job = 'manager')
7> GO
emp_no
-----------
          1

(rows affected)
1>
2> drop table works_on
3> GO
1>
           
       
Related examples in the same category
1.Use aggregate function in subquery
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.