SQL Training Online http://www.sqltrainingonline.com Free SQL Training Videos Online by Joey Blue Sat, 11 Aug 2018 17:06:35 +0000 en-US hourly 1 37931338 SQL Database Normalization – 1NF, 2NF, 3NF, and 4NF http://www.sqltrainingonline.com/sql-database-normalization/ http://www.sqltrainingonline.com/sql-database-normalization/#respond Sat, 11 Aug 2018 16:46:13 +0000 http://www.sqltrainingonline.com/?p=3304 Learn how to normalize your relational tables. 1st Normal Form and Atomic Values 2nd Normal Form (2NF) and Partial Dependence 3rd Normal Form (3NF) and Transitive Dependence 4th Normal Form (4NF) and Multi-Valued Facts The first half of the video discusses the normal forms with smaller examples.  The second half of the video goes into […]

The post SQL Database Normalization – 1NF, 2NF, 3NF, and 4NF appeared first on SQL Training Online.

]]>
Learn how to normalize your relational tables.

  • 1st Normal Form and Atomic Values
  • 2nd Normal Form (2NF) and Partial Dependence
  • 3rd Normal Form (3NF) and Transitive Dependence
  • 4th Normal Form (4NF) and Multi-Valued Facts

The first half of the video discusses the normal forms with smaller examples.  The second half of the video goes into a little more complex example.

Video: Database Normalization Tutorial


1NF, 2NF, 3NF, 4NF

The following Microsoft Excel file is used throughout the training to demonstrate the normal forms:

Normalization Excel File

See the original Normalization in SQL. 1NF, 2NF, 3NF, and 4NF video.

The post SQL Database Normalization – 1NF, 2NF, 3NF, and 4NF appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/sql-database-normalization/feed/ 0 3304
SQL Joins Tutorial for Beginners – Inner Join, Left Join, Right Join, Full Outer Join – SQL Training Online http://www.sqltrainingonline.com/sql-joins-tutorial-for-beginners/ http://www.sqltrainingonline.com/sql-joins-tutorial-for-beginners/#respond Wed, 27 Sep 2017 22:59:57 +0000 http://www.sqltrainingonline.com/?p=3078 How to write SQL Joins in 10 minutes.  (*Plus another 8 minutes of bonus material.) Learn how to create SQL Joins. The first 10 minutes teach you the basics. Inner Join, Left Outer Join, Right Outer Join, and Full Outer Join. The second 10 minutes show you are few techniques that will help you as […]

The post SQL Joins Tutorial for Beginners – Inner Join, Left Join, Right Join, Full Outer Join – SQL Training Online appeared first on SQL Training Online.

]]>
How to write SQL Joins in 10 minutes.  (*Plus another 8 minutes of bonus material.)

Learn how to create SQL Joins. The first 10 minutes teach you the basics. Inner Join, Left Outer Join, Right Outer Join, and Full Outer Join. The second 10 minutes show you are few techniques that will help you as you start building joins.

Video: SQL Join Tutorial


How to write SQL Joins in 10 minutes.

The following Scripts are used in the training:

--Create Customer Table
CREATE TABLE [dbo].[Customer](
	[CustomerId] [int] NOT NULL,
	[CityId] [int] NULL,
	[CustomerName] [varchar](50) NOT NULL
) ON [PRIMARY]
GO
--Insert Customer Records
INSERT [dbo].[Customer] ([CustomerId], [CityId], [CustomerName]) VALUES (1, 1, N'Bob Smith')
GO
INSERT [dbo].[Customer] ([CustomerId], [CityId], [CustomerName]) VALUES (2, 1, N'Sally Smith')
GO
INSERT [dbo].[Customer] ([CustomerId], [CityId], [CustomerName]) VALUES (3, 2, N'Tom Smith')
GO
INSERT [dbo].[Customer] ([CustomerId], [CityId], [CustomerName]) VALUES (4, NULL, N'Mary Smith')
GO
--Create City Table
CREATE TABLE [dbo].[City](
	[CityId] [int] NOT NULL,
	[CityName] [varchar](50) NOT NULL
) ON [PRIMARY]
GO
--Insert City Records
INSERT [dbo].[City] ([CityId], [CityName]) VALUES (1, N'Kansas City')
GO
INSERT [dbo].[City] ([CityId], [CityName]) VALUES (2, N'New York')
GO
INSERT [dbo].[City] ([CityId], [CityName]) VALUES (3, N'Houston')
GO

See the original SQL Join Tutorial for Beginners video.

The post SQL Joins Tutorial for Beginners – Inner Join, Left Join, Right Join, Full Outer Join – SQL Training Online appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/sql-joins-tutorial-for-beginners/feed/ 0 3078
Zillow House Price Analysis from CSV Archive – #PowerBI 002 http://www.sqltrainingonline.com/zillow-house-analysis-from-csv-powerbi-002/ http://www.sqltrainingonline.com/zillow-house-analysis-from-csv-powerbi-002/#respond Fri, 22 Sep 2017 21:06:49 +0000 http://www.sqltrainingonline.com/?p=3074 How to take the Zillow CSV Archive and turn it into a powerful report using Power BI. Here is the finished product so you can interact with it. **Don’t forget to click the full screen button to really see the report! In this video I show you how to go from CSV to Microsoft Power […]

The post Zillow House Price Analysis from CSV Archive – #PowerBI 002 appeared first on SQL Training Online.

]]>
How to take the Zillow CSV Archive and turn it into a powerful report using Power BI.

Here is the finished product so you can interact with it.

**Don’t forget to click the full screen button to really see the report!

In this video I show you how to go from CSV to Microsoft Power BI report in under 15 minutes from start to finish.

Video: Zillow Housing Analysis


Here is a link to the Zillow Data.

See the original Power BI from CSV video.

The post Zillow House Price Analysis from CSV Archive – #PowerBI 002 appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/zillow-house-analysis-from-csv-powerbi-002/feed/ 0 3074
Learn Basic SQL – 1 Hour Training Course – SQL Training Online http://www.sqltrainingonline.com/learn-basic-sql-course/ http://www.sqltrainingonline.com/learn-basic-sql-course/#respond Thu, 14 Sep 2017 00:47:30 +0000 http://www.sqltrainingonline.com/?p=3069 How to write SQL from scratch in 1 hour. **Full Beginner’s Course** In this video I show you how to write SQL using SQL Server and SQL Server Management Studio. We go through Creating a Database, Creating Tables, Inserting, Updating, Deleting, Selecting, Grouping, Summing, Indexing, Joining, and other basics you need to get starting writing […]

The post Learn Basic SQL – 1 Hour Training Course – SQL Training Online appeared first on SQL Training Online.

]]>
How to write SQL from scratch in 1 hour.

**Full Beginner’s Course**

In this video I show you how to write SQL using SQL Server and SQL Server Management Studio. We go through Creating a Database, Creating Tables, Inserting, Updating, Deleting, Selecting, Grouping, Summing, Indexing, Joining, and other basics you need to get starting writing SQL.

Video: Learn Basic SQL


How to write SQL from scratch in 1 hour.

The following Scripts are used in the training:

--Create Database
Create Database Customer;

--Create Customer Table
create table Customer
(
	FirstName varchar(50),
	LastName varchar(50),
	Age int
);

--Insert Initial Data
insert into Customer (FirstName,LastName,[Age]) values ('Joey','Blue',40);
insert into Customer (FirstName,LastName,[Age]) values ('Barry','Bonds',50);
insert into Customer (FirstName,LastName,[Age]) values ('Mike','Schmidt',60);
insert into Customer (FirstName,LastName,[Age]) values ('Mike','Schmidt1',61);
insert into Customer (FirstName,LastName,[Age]) values ('Mike','Schmidt2',62);
insert into Customer (FirstName,LastName,[Age]) values ('Mike','Schmidt3',63);
insert into Customer (FirstName,LastName,[Age]) values ('Mike','Schmidt4',64);
insert into Customer (FirstName,LastName,[Age]) values ('Mike','Schmidt5',65);

--This deletes mike schmidt
/*
DELETE Customer
where FirstName='Mike'
and LastName Like 'Schmidt_';
*/

--Select Mike Schmidt
select *
from Customer
where FirstName='Mike'
and LastName Like 'Schmidt_';

--Update City on Barry Bonds
update Customer
Set City='Goddard'
where FirstName='Barry'
and LastName = 'Bonds' ;

--Add City to the Customer Table
alter table customer
add City varchar(50);

--Drop the Customer Table
drop table customer;

--Create Customer Table with Primary Key
create table Customer
(
	Id int Primary Key identity(1,1),
	FirstName varchar(50),
	LastName varchar(50),
	Age int,
	City varchar(50)
)

--Insert Customer Data
insert into Customer 
(FirstName,LastName,[Age],City) values ('Joey','Blue',40, 'Goddard');
insert into Customer 
(FirstName,LastName,[Age],City) values ('Barry','Bonds',50, 'San Francisco');
insert into Customer 
(FirstName,LastName,[Age],City) values ('Mike','Schmidt',60, 'KC');

--Create Products Table
create table Products
(
	id int primary key identity(1,1),
	ProductName varchar(50)
)

--Add Price to Products Table
alter table Products
add Price float;

--Select everything from Products table
select * from Products

--Insert Products
insert into Products (ProductName, Price) values ('Baseball', 5.95);
insert into Products (ProductName, Price) values ('Bat', 195.99);

--Create Orders Table
Create table Orders
(
	OrderId int primary key identity(1,1),
	OrderDate Datetime,
	CustomerID int,
	ProductID int
)

--Insert Orders
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),1,1);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),1,1);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),2,1);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),2,1);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),2,2);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),2,2);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),2,2);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),2,2);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),3,2);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),3,2);
insert into Orders (OrderDate,CustomerID,ProductID) values (GetDate(),4,2); --Bad Record

--Select from Tables
select * from Orders;
select * from Products;
select * from Customer;

--Delete Bad Order  **Your OrderId may be different
delete Orders
where OrderId=21;

--Add Foreign Keys to the Orders table
alter table orders
add foreign key (CustomerId) references Customer(Id);

alter table orders
add foreign key (ProductId) references Products(Id);

--Find the Total and Average Price per City
select c.City,sum(p.Price),AVG(p.price) Total
from Orders o 
inner join Products p on o.ProductID=p.id
inner join Customer c on o.CustomerID=c.Id
group by c.City

See the original SQL Training Course for Beginners video.

The post Learn Basic SQL – 1 Hour Training Course – SQL Training Online appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/learn-basic-sql-course/feed/ 0 3069
Create Table Statement in SQL Server and Inserting Baseball Homerun Leader Dataset – SQL Training Online http://www.sqltrainingonline.com/create-table-in-sql-server/ http://www.sqltrainingonline.com/create-table-in-sql-server/#respond Tue, 12 Sep 2017 22:47:02 +0000 http://www.sqltrainingonline.com/?p=3067 How to use the Create Table Statement to store data in SQL Server In this video I show you how to take some baseball data from a website, create a SQL Server table, and insert it into the table. Here is the Homerun Leaders Page that I use for the data. The following Scripts are […]

The post Create Table Statement in SQL Server and Inserting Baseball Homerun Leader Dataset – SQL Training Online appeared first on SQL Training Online.

]]>
How to use the Create Table Statement to store data in SQL Server

In this video I show you how to take some baseball data from a website, create a SQL Server table, and insert it into the table.

Video: Create Table Statement in SQL Server


How to use the Create Table Statement to store data in SQL Server..

Here is the Homerun Leaders Page that I use for the data.

The following Scripts are used in the video:

--Create Table
create table dbo.HomerunLeaders
(
 id int primary key identity(1,1),
 [Rank] int,
 Player varchar(50),
 Homeruns int,
 Bats varchar(1)
);

--Select from table
select * from dbo.HomerunLeaders
where Rank < 10;

See the original SQL Create Table video.

The post Create Table Statement in SQL Server and Inserting Baseball Homerun Leader Dataset – SQL Training Online appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/create-table-in-sql-server/feed/ 0 3067
Clickbank Product Analysis from the XML Feed – #PowerBI 001 http://www.sqltrainingonline.com/clickbank-product-analysis-powerbi/ http://www.sqltrainingonline.com/clickbank-product-analysis-powerbi/#respond Fri, 08 Sep 2017 01:45:05 +0000 http://www.sqltrainingonline.com/?p=3057 How to take the Clickbank XML feed and turn it into a powerful report using Power BI. Here is the finished product so you can interact with it. **Don’t forget to click the full screen button to really see the report! In this video I show you how to go from XML to Microsoft Power […]

The post Clickbank Product Analysis from the XML Feed – #PowerBI 001 appeared first on SQL Training Online.

]]>
How to take the Clickbank XML feed and turn it into a powerful report using Power BI.

Here is the finished product so you can interact with it.

**Don’t forget to click the full screen button to really see the report!

In this video I show you how to go from XML to Microsoft Power BI report in under 15 minutes from start to finish.

Video: Clickbank Product Analysis


How to take the Clickbank XML feed and turn it into a powerful report using Power BI.

 

See the original Power BI from XML to Report video.

The post Clickbank Product Analysis from the XML Feed – #PowerBI 001 appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/clickbank-product-analysis-powerbi/feed/ 0 3057
Latitude and Longitude with the Geography Data Type – SQL Training Online http://www.sqltrainingonline.com/geography-data-type-sql-server/ http://www.sqltrainingonline.com/geography-data-type-sql-server/#respond Wed, 30 Aug 2017 21:49:04 +0000 http://www.sqltrainingonline.com/?p=3049 The Geography data type is used in many different SQL Server databases. It contains Latitude, Longitude, and many other properties and functions. In this video I show you how to extract the latitude and longitude from the Geography data type. I use the Wide World Importers and the following scripts: --SQL Geography Data Type select […]

The post Latitude and Longitude with the Geography Data Type – SQL Training Online appeared first on SQL Training Online.

]]>
The Geography data type is used in many different SQL Server databases. It contains Latitude, Longitude, and many other properties and functions.

In this video I show you how to extract the latitude and longitude from the Geography data type.

Video: Latitude and Longitude with the Geography Data Type


How to extract the latitude and longitude from the Geography data type..

I use the Wide World Importers and the following scripts:

--SQL Geography Data Type
select CityName
,Location.Lat Latitude
,Location.Long Longitude
,cast(location as varchar(max))
from Application.Cities

Link to the a good tutorial on MSSQLTips.com.

 

See the original Latitude and Longitude in SQL Server video.

The post Latitude and Longitude with the Geography Data Type – SQL Training Online appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/geography-data-type-sql-server/feed/ 0 3049
Year-to-Date using Partition By with Windowing – SQL Training Online http://www.sqltrainingonline.com/year-to-date-using-the-partition-by-function-with-windowing-in-sql-server/ http://www.sqltrainingonline.com/year-to-date-using-the-partition-by-function-with-windowing-in-sql-server/#respond Tue, 29 Aug 2017 20:46:17 +0000 http://www.sqltrainingonline.com/?p=3047 You can use the Partition By Function in SQL Server to get a Year-to-Date and Month-to_Date calculation. In this video I show you how to create a Year-to-Date value using the Windowing Partition By Function in TSQL. This video builds on the prior day’s video, Prior Day Profit using the Lag Function with Windowing . I […]

The post Year-to-Date using Partition By with Windowing – SQL Training Online appeared first on SQL Training Online.

]]>
You can use the Partition By Function in SQL Server to get a Year-to-Date and Month-to_Date calculation.

In this video I show you how to create a Year-to-Date value using the Windowing Partition By Function in TSQL.

This video builds on the prior day’s video, Prior Day Profit using the Lag Function with Windowing .

Video: Month-to_Date using the Partition By Function in SQL Server


how to create a Year-to-Date value using the Windowing Partition By Function in TSQL.

I use the Wide World Importers and the following scripts:

--SQL Year-to-Date using Partition By
select 
year([Invoice Date Key]) as Year,
Month([Invoice Date Key]) as Month,
[Invoice Date Key],
Profit,
sum(Profit) OVER (PARTITION BY year([Invoice Date Key]), Month([Invoice Date Key]) ORDER BY [Invoice Date Key]) as MonthToDate,
sum(Profit) OVER (PARTITION BY year([Invoice Date Key]) ORDER BY [Invoice Date Key]) as YearToDate
from dbo.ProfitByDate
order by 1

Link to the Microsoft SQL Server Over Clause.

 

See the original Year-to-Date using the Partition Windowing Function video.

The post Year-to-Date using Partition By with Windowing – SQL Training Online appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/year-to-date-using-the-partition-by-function-with-windowing-in-sql-server/feed/ 0 3047
Prior Day Profit using the Lag Function with Windowing in SQL Server http://www.sqltrainingonline.com/prior-day-profit-lag-function-windowing-in-sql-server/ http://www.sqltrainingonline.com/prior-day-profit-lag-function-windowing-in-sql-server/#comments Mon, 28 Aug 2017 23:41:25 +0000 http://www.sqltrainingonline.com/?p=3044 You can get a prior day value using the Lag Function in SQL Server. In this video I show you how to create a prior day squeeze of profit using the Windowing Lag function in TSQL. This video builds on the prior day’s video, Moving Average with Windowing. I use the Wide World Importers and […]

The post Prior Day Profit using the Lag Function with Windowing in SQL Server appeared first on SQL Training Online.

]]>
You can get a prior day value using the Lag Function in SQL Server.

In this video I show you how to create a prior day squeeze of profit using the Windowing Lag function in TSQL.

This video builds on the prior day’s video, Moving Average with Windowing.

Video: Prior Day Profit using the Lag Function in SQL Server


How to use the SQL Lag Function for Prior Day Squeeze.

I use the Wide World Importers and the following scripts:

select 
[Invoice Date Key],
Profit,
Lag(Profit,1) OVER (ORDER BY [Invoice Date Key]) as PriorDayProfit,
Profit - isnull(Lag(Profit,1) OVER (ORDER BY [Invoice Date Key]),0) as DailySqueeze
from dbo.ProfitByDate
order by 1

Link to the Microsoft SQL Server Over Clause.

 

See the original SQL Prior Day Profit – Lag Windowing Function video.

The post Prior Day Profit using the Lag Function with Windowing in SQL Server appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/prior-day-profit-lag-function-windowing-in-sql-server/feed/ 1 3044
Moving Average with Windowing in SQL Server http://www.sqltrainingonline.com/moving-average-windowing-in-sql-server/ http://www.sqltrainingonline.com/moving-average-windowing-in-sql-server/#comments Sun, 27 Aug 2017 18:11:29 +0000 http://www.sqltrainingonline.com/?p=3040 The Moving Average used to be complex, but with the Windowing Functions, the Moving Average is easier and performs much better. In this video I show you how to create a moving average in SQL using the OVER Clause and the ROWS Clause. I use the Wide World Importers and the following scripts: select [Invoice […]

The post Moving Average with Windowing in SQL Server appeared first on SQL Training Online.

]]>
The Moving Average used to be complex, but with the Windowing Functions, the Moving Average is easier and performs much better.

In this video I show you how to create a moving average in SQL using the OVER Clause and the ROWS Clause.

Video: SQL Moving Average with Windowing


How to use the SQL Over Clause for a Moving Average.

I use the Wide World Importers and the following scripts:

select [Invoice Date Key], sum(Profit) Profit
into dbo.ProfitByDate
from [Fact].[Sale]
group by [Invoice Date Key];

select 
[Invoice Date Key],
avg(Profit) OVER (ORDER BY [Invoice Date Key] ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) as AverageProfit
from dbo.ProfitByDate
order by 1

Link to the Microsoft SQL Server Over Clause.

 

See the original SQL Rolling Average with Windowing video.

The post Moving Average with Windowing in SQL Server appeared first on SQL Training Online.

]]>
http://www.sqltrainingonline.com/moving-average-windowing-in-sql-server/feed/ 1 3040