Replication is a set of technologies for copying and distributing the data and database objects from one database to other and synchronizing between databases for consistency.
It allows multiple sites to keep the copies of same data .This is useful when multiple sites need to read the same data, or need multiple servers for reporting applications.
It separates OLTP from OLAP.
It distributes data exactly as it appears at a specific moment in time and doesn’t monitor for updates. It can be used when data changes are infrequent. It is often used for browsing data such as price lists, online catalog, or data for decision support where the current data is not required and data is used as read only.
With this an initial snapshot of data is applied, and whenever data modifications are made at the publisher, the individual transactions are captured and propagated to the subscribers.
It is the process of distributing the data between publisher and subscriber, It allows the publisher and subscriber to update the data while connected or disconnected, and then merging the updates between the sites when they are connected.
The distributor is the server that is responsible for synchronizing the data between publishers and subscribers.
The where clause applies to individual rows and having clause applies only to groups.
Reference : Dilip Kumar Jena ( https://sqlexplore.wordpress.com )