2013-10-14 37 views

Trả lời

7

SELECT TOP 1 nghĩa Lựa chọn các bản ghi rất 1st trong tập hợp kết quả nơi như SELECT 1 sẽ trở lại 1 trong kết quả thiết

+3

cảm ơn sự giúp đỡ. Nhưng "Top 1 1" có nghĩa là gì? – James

+0

CHỌN TOP 1 đang chọn hàng thứ nhất trong tập kết quả truy vấn của bạn và Khác 1 sẽ trả về 1 cho bất kỳ bản ghi nào không có bản ghi tương ứng trong bảng người quản lý –

4

Yêu cầu tìm ra nếu có ít nhất một nhân viên (top 1) không có người quản lý. Mệnh đề SELECT 1 hoạt động như một "trả về true".

Nếu có người quản lý, yêu cầu select 1 from Manager M where M.Id = W.Id trả về 1. Nếu không có người quản lý, yêu cầu sẽ trả về NULL.

1

SELECT TOP 1 1 sẽ chọn chính xác 0 hoặc 1 1 s. SELECT 1 sẽ chọn 1 chính xác N hàng, trong đó N là số hàng phù hợp với tiêu chí của bạn.

Trong trường hợp của bạn, nó đang tìm kiếm công nhân đầu tiên (TOP 1) không có người quản lý. Tuy nhiên, vì nó là SELECT TOP 1 1, tất cả những gì nó đang làm là tìm kiếm sự tồn tại của một công nhân không có người quản lý.

7

Trong phần sau, "1" đầu tiên, là một phần của "TOP 1" có nghĩa là dừng sau khi kết quả đạt được. Chữ "1" thứ hai chỉ vì tác giả thực sự không quan tâm kết quả là gì.

SELECT TOP 1 1 FROM WORKER 

là cơ bản giống như

SELECT TOP 1 * FROM WORKER 

Câu hỏi duy nhất là liệu nó sẽ hiệu quả hơn trong "tồn tại" một phần của truy vấn hơn là chỉ

SELECT 1 FROM Manager... 
1

của nó làm việc như true false ... ví dụ: chọn đầu 1 1 từ các mục trong đó ItemId = 4526000 nó sẽ trả về 1 vì điều kiện là matchi ng. nếu không khớp thì không có gì sẽ trả lại. => giả sử chọn đầu 10 1 từ các mục mà ItemId = 4526000 nó sẽ trả về 1 cho 5 lần nếu ItemId lặp lại 5 lần.

Các vấn đề liên quan