Is model theory a branch of mathematical logic? I understand that "model theory is the study of classes of mathematical structures from the perspective of mathematical logic" but I always see this subject in a lot of mathematical logic books.
 A: Yes, it is.
Mathematical logic is generally considered to consist of the following (certainly each of the below is universally understood to be part of mathematical logic):


*

*Set theory

*Model theory 

*Computability theory

*Proof theory

*Nonclassical logic
Incidentally, I vaguely recall that some people find the term "nonclassical logic" a bit perjorative; in that case, "general logics" might be a better term. Arguably the classical/nonclassical split should occur at a higher taxonomical level, but I don't think that's actually reflected in the sociology, so I've listed nonclassical logic as another subfield on the same order as, say, computability theory. It's also worth noting that, as with any collection of fields of mathematics, these have lots of overlap - for example, proof theory studies all sorts of logics, and even employs nonclassical logics in the study of classical logic, so there's a ton of overlap there.
There's also the question of whether and where category theory fits in here. Personally I think some but not all of category theory lands here, and the parts that do sort of spread out between all the other subfields - intuitionistic logic is closely tied to category theory and is a nonclassical logic; sheaf semantics is arguably more part of model theory than nonclassical logic and categories of models are also very important; there are lots of interactions between set theory and category theory, e.g. developing set theory in a topos; computability shows up in realizability toposes and related categories; and the algebraic structures emerging in proof theory are very categorial. Alternatively, a case could be made that category theory's logical aspect should be listed as an entirely separate subfield. 

There's an interesting sociological question here, incidentally: why do we group these subfields together?
There seem to be a couple different themes here. Model theory, proof theory, and nonclassical logic are all focused on logics themselves - that is, notions of sentence, proof, and satisfaction. Computability theory can be forced into this picture by making a computations/proofs analogy, but personally I think that's very strained in this context.
I'd say that to a large extent this is a historically contingent situation. For example, amongst the earliest results in model theory are the downwards Lowenheim-Skolem theorem and Godel's completeness theorem. The former connects model theory and set theory; the latter serves as a fundamental backdrop for Godel's incompleteness theorem, which is really a proof-theoretic result whose proof fundamentally relies on the notion of computability. Basically, all of these subjects wound up entangled very early on, and that influenced how we think of them now.
That said, one can make a case that they actually should be together. In particular, I find the following somewhat compelling. Set theory treats the ontology of mathematics, and introduces the idea of a reasonably-formalized "universe of mathematics." Model theory, proof theory, and nonclassical logics, in different ways, study mathematical languages and the ways they interact with that mathematical universe (as well as their internal behaviors). Finally, computability theory emerges from the notion of "concrete" descriptions - the finer structure of that mathematical language we use.
So in some sense each of these fields studies mathematical language - ranging from the "ontological" (what that language refers to) to the "epistemological" (what descriptions are actually comprehensible). This isn't to say that all research in those fields is motivated by this philosophical problem, but I think it does serve to unify them conceptually and does reflect a lot of the research constituting them.
