T-SQL Tutorial

T-SQL Select Query


This article contains an introduction to T-SQL Select Query.
A SQL Select Query is used to return records from the SQL Server database.
Using select queries you can populate variables, cursors, tables, views.

GROUP BY

The T-SQL GROUP BY is used when an aggregate function exists in the select query.

SELECT r.course_id, SUM(c.price) AS CourseSUM
FROM courses c, register_course r
WHERE c.id=r.course_id
GROUP BY r.course_id;


HAVING

The T-SQL HAVING specifies a search condition for a group or an aggregate function.

SELECT r.course_id, SUM(c.price) AS CourseSUM
FROM courses c, register_course r
WHERE c.id=r.course_id
GROUP BY r.course_id
HAVING SUM(c.price) > 70;


ORDER BY

The T-SQL ORDER BY sort rows returned in an select query.

SELECT r.course_id, SUM(c.price) AS CourseSUM
FROM courses c, register_course r
WHERE c.id=r.course_id
GROUP BY r.course_id
HAVING SUM(c.price) > 70
ORDER BY SUM(c.price), r.course_id;


WHERE

The T-SQL WHERE specifies a search condition for the rows returned by the select query.

SELECT * FROM courses c WHERE c.price > 50;

BETWEEN

The T-SQL BETWEEN returns rows if the value is within the range of comparisons.

SELECT * FROM courses WHERE price BETWEEN 50 AND 80;

LIKE

The T-SQL LIKE returns rows if a character string matches a pattern.

SELECT * FROM courses c WHERE name LIKE '%Engineering%';
SELECT * FROM courses c WHERE name LIKE 'Eng%';
SELECT * FROM courses c WHERE name LIKE '%ring';


EXISTS

The T-SQL EXISTS return rows if a SQL subquery contains any rows.

SELECT * FROM courses c
WHERE EXISTS (SELECT 1 FROM register_course r WHERE c.id=r.course_id);


IN

The T-SQL IN returns rows if a specified value matches any value in a SQL subquery.

SELECT * FROM courses c
WHERE c.id IN (SELECT r.course_id FROM register_course r);


SOME

The T-SQL SOME compares a value with a single column set of values.

SELECT * FROM courses c
WHERE c.id = SOME (SELECT r.course_id FROM register_course r);


ANY

The T-SQL ANY returns rows if any value is equal to one value in a subquery.

SELECT * FROM courses c
WHERE c.id = ANY (SELECT r.course_id FROM register_course r);