SlideShare a Scribd company logo
LINQ
(Language Integrated Query)
for absolute beginner
Vasistan Shakkaravarthi
1
Introduction
• A query is an expression that retrieves data from a data source.
• Queries are usually expressed in a specialized query language.
• Different languages have been developed over time for the various
types of data sources,
for example
• SQL for relational databases
• XQuery for XML.
2LINQ for absolute beginners
LINQ
Operators
Projection
Restriction
Grouping
Set
Conversion
Partitioning
OrderingElement
Generation
Quantifiers
Aggregate
Miscellaneous
Join
3
Frequently used Operators
Projection
Select
Select Many
Restriction
Where
Grouping
GroupBy
Aggregate
Sum
Count
Min
Max
Average
Ordering
OrderBy
OrderByDescending
ThenBy
ThenByDescending
Reverse
4LINQ for absolute beginners
Steps involved in LINQ operation
Obtain the
Data Source
Create
Query
Execute
5LINQ for absolute beginners
Sample data source
EmpID EmpName Gender Age ShortCode
1 Kathirvel M 26 KV
2 Vivian M 27 OV
3 Veeramanai M 25 AV
4 Kalpana F 26 KL
5 Kavitha F 25 KS
6 Vasi M 28 SV
7 Kamalam F 28 KL
8 Sudha F 27 SS
9 Kumaraguru M 28 KG
6LINQ for absolute beginners
Projection Operator
SELECT e.EmpName FROM EmployeeInfo e
from e in EmployeeInfo select e.EmpName
SQL
LINQ Select
SELECT e.EmpName, e.Age FROM EmployeeInfo e
from e in EmployeeInfo
select new {EmpName = e.EmpName, Age = e.Age }
SQL
LINQ
SelectMany
EmpName
Kathirvel
Vivian
Veeramanai
Kalpana
Kavitha
Vasi
Kamalam
Sudha
Kumaraguru
EmpName Age
Kathirvel 26
Vivian 27
Veeramanai 25
Kalpana 26
Kavitha 25
Vasi 28
Kamalam 28
Sudha 27
Kumaraguru 28
7LINQ for absolute beginners
Restriction Operators
SELECT e.EmpName FROM EmployeeInfo e
WHERE e.Gender = ‘M’
from e in EmployeeInfo
where e.Gender == ‘M’
select e.EmpName
SQL
LINQ
Where
EmpName
Kathirvel
Vivian
Veeramanai
Vasi
Kumaraguru
8LINQ for absolute beginners
Grouping/Aggregate Operators
SELECT e.Gender, Count(e.*) as Employees FROM EmployeeInfo e
GROUP BY e.Gender
from e in EmployeeInfo
group e by e.Gender into grp
select new {Gender = e.Key, Employees = grp.Count()}
SQL
LINQ Grouping/
Aggregation
Gender Employees
F 4
M 5
9LINQ for absolute beginners
Ordering Operators
SELECT e.EmpName FROM EmployeeInfo e
ORDER BY e.EmpName
from e in EmployeeInfo
orderby e.EmpName
select e.EmpName
SQL
LINQ
OrderBy
10LINQ for absolute beginners
EmpName
Kalpana
Kamalam
Kathirvel
Kavitha
Kumaraguru
Sudha
Vasi
Veeramanai
Vivian
from e in EmployeeInfo
orderby e.EmpName descending
select e.EmpName OrderByDescending
EmpName
Vivian
Veeramanai
Vasi
Sudha
Kumaraguru
Kavitha
Kathirvel
Kamalam
Kalpana
Query Execution Types
• Simple query for further operation
Deferred Query
• Query that involves aggregate functions
Immediate Query
LINQ for absolute beginners 11
Thank you
Check the other resources
Blog
http://vasistan.blogspot.in
YouTube
http://www.youtube.com/playlist?list=PL-CcORxeaUcgXHO7UW9sGNbue9wH-4No3

More Related Content

Similar to LINQ for absolute beginners

Asp.net c# mvc Training-Day-5 of Day-9
Asp.net c# mvc Training-Day-5 of Day-9Asp.net c# mvc Training-Day-5 of Day-9
Asp.net c# mvc Training-Day-5 of Day-9
AHM Pervej Kabir
 
SoDA v2 - Named Entity Recognition from streaming text
SoDA v2 - Named Entity Recognition from streaming textSoDA v2 - Named Entity Recognition from streaming text
SoDA v2 - Named Entity Recognition from streaming text
Sujit Pal
 
Understanding LINQ in C#
Understanding LINQ in C# Understanding LINQ in C#
Understanding LINQ in C#
MD. Shohag Mia
 
Asp.Net 3.5 Part 2
Asp.Net 3.5 Part 2Asp.Net 3.5 Part 2
Asp.Net 3.5 Part 2
asim78
 
Powering an API with GraphQL, Golang, and NoSQL
Powering an API with GraphQL, Golang, and NoSQLPowering an API with GraphQL, Golang, and NoSQL
Powering an API with GraphQL, Golang, and NoSQL
Nic Raboy
 
SQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptx
SQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptxSQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptx
SQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptx
antony194610
 
Linq
LinqLinq
Illuminating Lucene.Net
Illuminating Lucene.NetIlluminating Lucene.Net
Illuminating Lucene.Net
Dean Thrasher
 
Евгений Бобров "Powered by OSS. Масштабируемая потоковая обработка и анализ б...
Евгений Бобров "Powered by OSS. Масштабируемая потоковая обработка и анализ б...Евгений Бобров "Powered by OSS. Масштабируемая потоковая обработка и анализ б...
Евгений Бобров "Powered by OSS. Масштабируемая потоковая обработка и анализ б...
Fwdays
 
LINQ in C#
LINQ in C#LINQ in C#
LINQ in C#
Basant Medhat
 
Introduction to Lucene and Solr - 1
Introduction to Lucene and Solr - 1Introduction to Lucene and Solr - 1
Introduction to Lucene and Solr - 1
YI-CHING WU
 
LINQ PPT.pptx
LINQ PPT.pptxLINQ PPT.pptx
LINQ PPT.pptx
09AnkitkumarJhariya
 
Data Designed for Discovery
Data Designed for DiscoveryData Designed for Discovery
Data Designed for Discovery
OCLC
 
Is there a SQL for NoSQL?
Is there a SQL for NoSQL?Is there a SQL for NoSQL?
Is there a SQL for NoSQL?
Arthur Keen
 
Introduction to Solr
Introduction to SolrIntroduction to Solr
Introduction to Solr
Erik Hatcher
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr Developers
Erik Hatcher
 

Similar to LINQ for absolute beginners (16)

Asp.net c# mvc Training-Day-5 of Day-9
Asp.net c# mvc Training-Day-5 of Day-9Asp.net c# mvc Training-Day-5 of Day-9
Asp.net c# mvc Training-Day-5 of Day-9
 
SoDA v2 - Named Entity Recognition from streaming text
SoDA v2 - Named Entity Recognition from streaming textSoDA v2 - Named Entity Recognition from streaming text
SoDA v2 - Named Entity Recognition from streaming text
 
Understanding LINQ in C#
Understanding LINQ in C# Understanding LINQ in C#
Understanding LINQ in C#
 
Asp.Net 3.5 Part 2
Asp.Net 3.5 Part 2Asp.Net 3.5 Part 2
Asp.Net 3.5 Part 2
 
Powering an API with GraphQL, Golang, and NoSQL
Powering an API with GraphQL, Golang, and NoSQLPowering an API with GraphQL, Golang, and NoSQL
Powering an API with GraphQL, Golang, and NoSQL
 
SQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptx
SQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptxSQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptx
SQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptx
 
Linq
LinqLinq
Linq
 
Illuminating Lucene.Net
Illuminating Lucene.NetIlluminating Lucene.Net
Illuminating Lucene.Net
 
Евгений Бобров "Powered by OSS. Масштабируемая потоковая обработка и анализ б...
Евгений Бобров "Powered by OSS. Масштабируемая потоковая обработка и анализ б...Евгений Бобров "Powered by OSS. Масштабируемая потоковая обработка и анализ б...
Евгений Бобров "Powered by OSS. Масштабируемая потоковая обработка и анализ б...
 
LINQ in C#
LINQ in C#LINQ in C#
LINQ in C#
 
Introduction to Lucene and Solr - 1
Introduction to Lucene and Solr - 1Introduction to Lucene and Solr - 1
Introduction to Lucene and Solr - 1
 
LINQ PPT.pptx
LINQ PPT.pptxLINQ PPT.pptx
LINQ PPT.pptx
 
Data Designed for Discovery
Data Designed for DiscoveryData Designed for Discovery
Data Designed for Discovery
 
Is there a SQL for NoSQL?
Is there a SQL for NoSQL?Is there a SQL for NoSQL?
Is there a SQL for NoSQL?
 
Introduction to Solr
Introduction to SolrIntroduction to Solr
Introduction to Solr
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr Developers
 

Recently uploaded

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 

LINQ for absolute beginners

  • 1. LINQ (Language Integrated Query) for absolute beginner Vasistan Shakkaravarthi 1
  • 2. Introduction • A query is an expression that retrieves data from a data source. • Queries are usually expressed in a specialized query language. • Different languages have been developed over time for the various types of data sources, for example • SQL for relational databases • XQuery for XML. 2LINQ for absolute beginners
  • 4. Frequently used Operators Projection Select Select Many Restriction Where Grouping GroupBy Aggregate Sum Count Min Max Average Ordering OrderBy OrderByDescending ThenBy ThenByDescending Reverse 4LINQ for absolute beginners
  • 5. Steps involved in LINQ operation Obtain the Data Source Create Query Execute 5LINQ for absolute beginners
  • 6. Sample data source EmpID EmpName Gender Age ShortCode 1 Kathirvel M 26 KV 2 Vivian M 27 OV 3 Veeramanai M 25 AV 4 Kalpana F 26 KL 5 Kavitha F 25 KS 6 Vasi M 28 SV 7 Kamalam F 28 KL 8 Sudha F 27 SS 9 Kumaraguru M 28 KG 6LINQ for absolute beginners
  • 7. Projection Operator SELECT e.EmpName FROM EmployeeInfo e from e in EmployeeInfo select e.EmpName SQL LINQ Select SELECT e.EmpName, e.Age FROM EmployeeInfo e from e in EmployeeInfo select new {EmpName = e.EmpName, Age = e.Age } SQL LINQ SelectMany EmpName Kathirvel Vivian Veeramanai Kalpana Kavitha Vasi Kamalam Sudha Kumaraguru EmpName Age Kathirvel 26 Vivian 27 Veeramanai 25 Kalpana 26 Kavitha 25 Vasi 28 Kamalam 28 Sudha 27 Kumaraguru 28 7LINQ for absolute beginners
  • 8. Restriction Operators SELECT e.EmpName FROM EmployeeInfo e WHERE e.Gender = ‘M’ from e in EmployeeInfo where e.Gender == ‘M’ select e.EmpName SQL LINQ Where EmpName Kathirvel Vivian Veeramanai Vasi Kumaraguru 8LINQ for absolute beginners
  • 9. Grouping/Aggregate Operators SELECT e.Gender, Count(e.*) as Employees FROM EmployeeInfo e GROUP BY e.Gender from e in EmployeeInfo group e by e.Gender into grp select new {Gender = e.Key, Employees = grp.Count()} SQL LINQ Grouping/ Aggregation Gender Employees F 4 M 5 9LINQ for absolute beginners
  • 10. Ordering Operators SELECT e.EmpName FROM EmployeeInfo e ORDER BY e.EmpName from e in EmployeeInfo orderby e.EmpName select e.EmpName SQL LINQ OrderBy 10LINQ for absolute beginners EmpName Kalpana Kamalam Kathirvel Kavitha Kumaraguru Sudha Vasi Veeramanai Vivian from e in EmployeeInfo orderby e.EmpName descending select e.EmpName OrderByDescending EmpName Vivian Veeramanai Vasi Sudha Kumaraguru Kavitha Kathirvel Kamalam Kalpana
  • 11. Query Execution Types • Simple query for further operation Deferred Query • Query that involves aggregate functions Immediate Query LINQ for absolute beginners 11
  • 12. Thank you Check the other resources Blog http://vasistan.blogspot.in YouTube http://www.youtube.com/playlist?list=PL-CcORxeaUcgXHO7UW9sGNbue9wH-4No3