This thesis studies similarity queries and their application in knowledge discovering and data mining. Two variants of similarity queries - the k-nearest Neighbor join (kNN join) and the Reverse k-Nearest Neighbor query (RkNN query) have been closely investigated. Efficient algorithms have been proposed. Gorder is a block nested loop join method utilizing sorting, data blocks scheduling and distance computation filtering and reduction techniques to speed up the kNN join processing. ERkNN makes use of the local kNN estimation methods to retrieve the RkNN efficiently. Furthermore, as one illustration of the importance of such queries, a novel data mining tool - BORDER which is built upon the kNN join and utilizes a property of the reverse k-nearest neighbor is presented.