Dns is just a lookup table. And yes, it can return multiple records for a query. It's supposed to provide a cheap man's round robin on the returns (but you never know how many things are doing lookups, so sort of random). You can run your own DNS server, point to it and lie (if you want) about being authoritative for "whatever" (e.g. unix.com). Then all clients can be tricked into seeing your mappings for unix.com if they use your "tricky" DNS. You could cache other non-housed requests.... so you DNS would be "complete", but doing a tricky override for "whatever" you wanted to lie about. Hopefully this scares you a bit and it's a good segue into DNSSEC, etc...
Do a query, pick the first answer. That's how it's normally done.
Queries for records you don't house start at the root (of all... the root servers... "dot" if you will), then goes to what we call the TLDs and so on. If you own a registered domain, you can associate a DNS to it to build the relationship required (if you do this without cooperation of the holder of the parent zone this won't work, the parent zone has to know how to delegate requests to your server... sometimes the parent zone will stand authoriatative for your zone by default and they'll handle servicing your records... but normallly, you'd tell them about your server and that it will now stand authoritative for those zone (your registered domain).
Oh... and there is some caching going on the speed this lookups up quite a bit.. but the root servers get hit pretty hard.
There are good books out there... I recommend you look at the documentation at:
https://www.isc.org/support/