Our Ironclad Guarantee
You must be satisfied. Try our print books for 30 days or our eBooks for 14 days. If they aren't the best you've ever used, you can return the books or cancel the eBooks for a prompt refund. No questions asked!
This edition of SQL Server for Developers has been thoroughly updated to cover new features and best practices, including a new section that shows how to work with a SQL Server database after it has been migrated to Microsoft’s cloud computing platform, Azure. Whether you’re new to relational databases and how they work or an experienced developer looking for a trustworthy reference volume with hundreds of examples, this is the book for you.
Go to our instructor’s site to learn more about this book and its instructor’s materials.
The most positive feature of the book is the simple, informative writing. Wow! I think a lot of thought went into this book before they ever wrote a word."
This book is for anyone who wants to learn how to work with a SQL Server database, regardless of prior programming experience. This includes…
Like all our books, this book is designed to make it as easy as possible for you to learn new skills faster and retain them better.
This introductory section gets you started fast. First, you’ll learn all the concepts and terms you need for working with relational databases and SQL. Then, you’ll learn how to use SQL Server Management Studio to work with a SQL Server database, with plenty of screenshots and examples.
In this section, you’ll learn how to retrieve data from a database as well as how to add, update, and delete data. These skills are presented in the order you’re most likely to need them, and move from the simple to the complex so you won’t have any trouble if you’re a SQL novice. You’ll also learn how to use techniques like outer joins, summary queries, and subqueries, raising your SQL expertise if you already have SQL experience.
Once you know the basics, you’ll learn how to design and create a database from start to finish by either coding SQL statements or using Management Studio’s graphical interface. Covering topics such as maintaining data integrity and speeding data access, this section will give you perspective that will make you a better SQL programmer even if you aren’t planning to become a database administrator.
Master advanced SQL features such as views, scripts, stored procedures, functions, triggers, cursors, transactions, users, privileges, and roles. These features provide ways to simplify data access, improve data security, increase developer productivity, automate data maintenance, and maintain data integrity.
The final two chapters show how to get started with Microsoft’s cloud computing platform, Azure. In particular, they provide step-by-step instructions for migrating a local SQL Server database to Azure and using Azure Data Studio to work with a remote Azure SQL database.
For a complete list of covered topics, click on the Table of Contents tab.
Although it’s possible to set up the software for this book on Linux, we recommend setting it up on Windows. To do that, you need to be running:
To work with SQL Server as shown in this book, you can download all the software you need from Microsoft’s website for free. That includes:
Appendix A provides complete instructions for installing this software.
"Looking to get started with SQL Server? This is a fantastic place to start. Looking for a solid reference as you polish your SQL? Grab a copy."
--Stephen Wynkoop, SQL Server Worldwide Users Group
"The Perfect Book for Application Programmers: If you’re new to using SQL Server in your applications, this book will save you a lot of time. It teaches you about SQL, database design, a lot about admin (which many developers have to do; not everywhere has dedicated DBAs), and the advanced SQL is excellent. Highly recommended."
--David Bolton, Software Developer/Technical Writer and Reviewer
"Although I have used SQL Server on a daily basis for over 15 years, I was amazed at the number of new things that I learned while reading this book. I used a couple of the ideas to create a noticeable improvement in response time for one of my client/server projects."
--Brian Mishler, Orlando .NET User Group
"The most positive feature of the book is the simple informative writing. Wow! I think a lot of thought went into this book before they ever wrote a word."
--Michael Robbins, Denver Visual Studio .NET Users Group
"There are areas where I am an expert and other areas that I have picked up enough to just be ‘a little bit dangerous.’ SQL Server was one of the latter areas, and I wanted to round out my knowledge, and this book proved to be the perfect tool…."
--Posted at an online bookseller
"This book exceeds my expectations for books that teach database and software development. A wonderful book for both learning and mastering SQL Server."
--David Haertzen; posted at Infogoal.com
“This is the book I wish I had when I first started learning SQL Server. If you are new to SQL Server or want to learn more than the basics, this is the book for you. Highly recommended.”
--Posted at an online bookseller
View the table of contents for this book in a PDF: Table of Contents (PDF)
Click on any chapter title to display or hide its content.
The hardware components of a client/server system
The software components of a client/server system
Other client/server system architectures
How a database table is organized
How the tables in a relational database are related
How the columns in a table are defined
A brief history of SQL
A comparison of four relational databases
An introduction to the SQL statements
Typical statements for working with database objects
How to query a single table
How to join data from two or more tables
How to add, update, and delete data in a table
SQL coding guidelines
A summary of SQL Server 2022 tools
How to start and stop the database engine
How to enable remote connections
How to connect to a database server
How to navigate through the database objects
How to create database diagrams
How to view the column definitions of a table
How to modify the column definitions
How to view the data of a table
How to modify the data of a table
How to enter and execute a query
How to handle syntax errors
How to open and save queries
The basic syntax of the SELECT statement
SELECT statement examples
How to code column specifications
How to name the columns in a result set
How to code string expressions
How to code arithmetic expressions
How to use functions
How to use the DISTINCT keyword to eliminate duplicate rows
How to use the TOP clause to return a subset of selected rows
How to use comparison operators
How to use the AND, OR, and NOT logical operators
How to use the IN operator
How to use the BETWEEN operator
How to use the LIKE operator
How to use the IS NULL clause
How to sort a result set by a column name
How to sort a result set by an alias, an expression, or a column number
How to retrieve a range of selected rows
How to code an inner join
When and how to use table aliases
How to work with tables from different databases
How to use compound join conditions
How to use a self-join
Inner joins that join more than two tables
How to use the implicit inner join syntax
How to code an outer join
Outer join examples
Outer joins that join more than two tables
How to combine inner and outer joins
How to use cross joins
How to combine data from different tables
How to combine data from the same table
How to use the EXCEPT and INTERSECT operators
How to code aggregate functions
Queries that use aggregate functions
How to code the GROUP BY and HAVING clauses
Queries that use the GROUP BY and HAVING clauses
How the HAVING clause compares to the WHERE clause
How to code complex search conditions
How to use the ROLLUP operator
How to use the CUBE operator
How to use the GROUPING SETS operator
How to use the OVER clause
How to use subqueries
How subqueries compare to joins
How to use subqueries with the IN operator
How to compare the result of a subquery with an expression
How to use the ALL keyword
How to use the ANY and SOME keywords
How to code correlated subqueries
How to use the EXISTS operator
How to code subqueries in the FROM clause
How to code subqueries in the SELECT clause
A complex query that uses subqueries
A procedure for building complex queries
How to code a CTE
How to code a recursive CTE
How to use a copy of the database
How to use the SELECT INTO statement
How to insert a single row
How to insert multiple rows
How to insert default values and null values
How to insert rows selected from another table
How to perform a basic update operation
How to use subqueries in an update operation
How to use joins in an update operation
How to perform a basic delete operation
How to use subqueries and joins in a delete operation
How to perform a basic merge operation
How to code more complex merge operations
Data type overview
The numeric types
The string types
The date/time types
The large value types
How data conversion works
How to convert data using the CAST function
How to convert data using the CONVERT function
How to use the TRY_CONVERT function
How to use other data conversion functions
A summary of the string functions
How to solve common problems that occur with string data
A summary of the numeric functions
How to search for floating-point numbers
A summary of the date/time functions
How to parse dates and times
How to perform operations on dates and times
How to perform a date search
How to perform a time search
How to use the DATE_BUCKET function
How to use the CASE expression
How to use the IIF and CHOOSE functions
How to use the COALESCE expression and the ISNULL function
How to use the GROUPING function
How to use the GREATEST and LEAST functions
How to use the ranking functions
How to use the analytic functions
The basic steps for designing a data structure
How to identify the data elements
How to subdivide the data elements
How to identify the tables and assign columns
How to identify the primary and foreign keys
How to enforce the relationships between tables
How normalization works
How to identify the columns to be indexed
The seven normal forms
How to apply the first normal form
How to apply the second normal form
How to apply the third normal form
When and how to denormalize a data structure
How to create a database
How to create a table
How to create an index
An introduction to constraints
How to use check constraints
How to use foreign key constraints
How to delete an index, table, or database
How to alter a table
How to create a sequence
How to use a sequence
How to delete a sequence
How to alter a sequence
An introduction to character sets and encodings
An introduction to collations
How to view collations
How to specify a collation
How the script works
How the DDL statements work
How to create or delete a database
How to attach or detach a database
How to back up and restore a database
How to set the compatibility level for a database
How to create, modify, or delete a table
How to work with foreign key relationships
How to work with indexes and keys
How to work with check constraints
How to examine table dependencies
How to generate scripts for databases and tables
How to generate a change script when you modify a table
How views work
Benefits of using views
How to create a view
Examples that create views
How to create an updatable view
How to delete or modify a view
How to update rows through a view
How to insert rows through a view
How to delete rows through a view
How to use the catalog views
How to work with scripts
The Transact-SQL statements for script processing
How to work with scalar variables
How to work with table variables
How to work with temporary tables
A comparison of the five types of Transact-SQL table objects
How to perform conditional processing
How to test for the existence of a database object
How to perform repetitive processing
How to use a cursor
How to handle errors
How to use surround-with snippets
How to use the system functions
How to change the session settings
How to use dynamic SQL
Scripts
Stored procedures, user-defined functions, and triggers
An introduction to stored procedures
How to create a stored procedure
How to declare and work with parameters
How to call procedures with parameters
How to work with return values
How to validate data and raise errors
A stored procedure that manages insert operations
How to pass a table as a parameter
How to delete or change a stored procedure
How to work with system stored procedures
An introduction to user-defined functions
How to create a scalar-valued function
How to create and use a table-valued function
How to delete or change a function
How to create a trigger
How to use AFTER triggers
How to use INSTEAD OF triggers
How to use triggers to enforce data consistency
How to delete or change a trigger
How transactions maintain data integrity
SQL statements for handling transactions
How to work with nested transactions
How to work with save points
The four concurrency problems that locks can prevent
How to set the transaction isolation level
Lockable resources and lock escalation
Lock modes and lock promotion
Lock mode compatibility
Two transactions that deadlock
Coding techniques that prevent deadlocks
An introduction to SQL Server security
How to change the authentication mode
How to create login IDs
How to delete or change login IDs or passwords
How to work with database users
How to work with schemas
How to grant or revoke object permissions
The SQL Server object permissions
How to grant or revoke schema permissions
How to grant or revoke database permissions
How to grant or revoke server permissions
How to work with the fixed server roles
How to work with user-defined server roles
How to display information about server roles and role members
How to work with the fixed database roles
How to work with user-defined database roles
How to display information about database roles and role members
How to deny permissions granted by role membership
How to work with application roles
How to work with login IDs
How to work with the server roles for a login ID
How to assign database access and roles by login ID
How to assign user permissions to database objects
How to work with database permissions
How to open the Connection dialog box
How to connect to a database server
How to navigate through the database objects
How to view the column definitions of a table
How to modify the column definitions
How to view the data of a table
How to modify the data
How to enter and run a query
How to handle syntax errors
How to open and save queries
How to use the Explorer window
How to work with extensions
How to visualize data
An introduction to Azure SQL
How to create a SQL database
How to configure a SQL server
How to configure a SQL database
How to connect to a SQL database
How to run a script that creates the tables for a SQL database
How to query a SQL database
An introduction to Data Migration Assistant
How to migrate a SQL Server database to Azure
How to install SQL Server 2022 Express
How to install SQL Server Management Studio
How to download the files for this book
How to create the databases for this book
How to restore the databases for this book
How to install Azure Data Studio
Not sure whether this is the book for you? Download a free sample chapter along with the code for the book examples and see for yourself how easy learning SQL Server can be.
Teaches you how to get started with the most important SQL statement.
Chapter 3 PDF Download Now
Contains step-by-step instructions for installing all the software you need to work through the examples and exercises presented in this book.
Appendix A PDF Download Now
Because learning is always easier with examples, the download for this book includes:
Zip file for any system Download Now
On this page, we’ll be posting answers to the questions that come up about SQL Server 2022 for Developers. So if you have any questions that you haven’t found answered here at our site, please email us. Thanks!
While we strive for perfection, the authors and editors of our books are only human. If you’ve found an error, please email us, so we can post its correction here. Thank you!
For orders and customer service:
1-800-221-5528
Weekdays, 8 to 4 Pacific Time
If you're a college instructor who would like to consider a book for a course, please visit our website for instructors to learn how to get a complimentary review copy and the full set of instructional materials.