Active Record Query to select associated model values.

I have two models named Customer and Order.

Customer < ActiveRecord::Base
has_many :orders

Order < ActiveRecord::Base
belongs_to :customer

Customer model has attributes like first_name and last_name. Order has
customer_id along with other attributes.

Now, I want Customer first_name for specific order. I can get it with
following query.

Customer.joins(:orders).where(' = 1').select('first_name').

You are missing the fundamental nature of ActiveRecord associations.
If you have an order in, for example, @order then the customer is
@order.customer and if you want that customer's first_name then you
can say @order.customer.first_name. There is no need to mess about
with complex queries, such is the magic of Rails.

But, how to get it along with attributes of order table also. Say, I want
both customers first_name and orders table created_at value.
When I try,
Order.includes(:customer).select('orders.created_at, customers.first_name')
this returns only order table records. What is the best way to select
attributes of joined tables also with Active Record Query.

Have a look at the Rails Guide on ActiveRecord Associations (and the
other guides for that matter) and work right through a good tutorial
such as (which is free to use online) and you will
be able to answer most of these questions yourself.