tại sao ở câu 2 lại sử dụng where(sales.month=7) mà không sử dụng là where month=7 ạ
Dạ vâng Gitiho xin giải đáp thắc mắc của Anh/Chị như sau ạ.
Sử dụng "where(sales.month=7)" trong một câu truy vấn SQL thay vì "where month=7" phụ thuộc vào cấu trúc của bảng và cách Anh/Chị đặt tên cột trong cơ sở dữ liệu của Anh/Chị. Cụ thể, có một số lý do Anh/Chị có thể muốn sử dụng "sales.month" thay vì chỉ "month":
Tránh xung đột tên cột: Trong một cơ sở dữ liệu có nhiều bảng và mỗi bảng có cột "month," việc sử dụng "month=7" có thể dẫn đến xung đột tên cột và SQL sẽ không biết Anh/Chị đang nói về cột nào. Sử dụng "sales.month=7" là cách để xác định rõ ràng Anh/Chị muốn thực hiện so sánh với cột "month" trong bảng "sales."
Định rõ nguồn dữ liệu: Trong trường hợp Anh/Chị tham gia nhiều bảng thông qua việc sử dụng các tham gia (joins), việc sử dụng "sales.month=7" giúp SQL hiểu rằng Anh/Chị đang áp dụng điều kiện này vào cột "month" của bảng "sales" cụ thể, không phải bất kỳ bảng nào khác.
Để làm rõ hơn: Sử dụng "sales.month=7" có thể giúp truy vấn của Anh/Chị trở nên dễ hiểu hơn cho người đọc mã SQL. Khi đọc mã, người khác sẽ biết Anh/Chị đang làm việc với cột "month" của bảng "sales" và không cần phải suy đoán.
Tóm lại, việc sử dụng "sales.month=7" thay vì "month=7" giúp tránh xung đột tên cột, làm rõ nguồn dữ liệu và làm cho mã SQL dễ đọc và dễ hiểu hơn. Tuy nhiên, cách Anh/Chị đặt tên cột và cấu trúc cơ sở dữ liệu có thể làm thay đổi cách Anh/Chị viết truy vấn SQL.