2010-09-17 54 views

Trả lời

21

để có được tên nhân viên bắt đầu với A hoặc b được liệt kê theo thứ tự. ..

select employee_name 
from employees 
where employee_name LIKE 'A%' OR employee_name LIKE 'B%' 
order by employee_name 

Nếu bạn đang sử dụng Microsoft SQL Server, bạn có thể sử dụng

.... 
where employee_name LIKE '[A-B]%' 
order by employee_name 

Đây không phải là SQL chuẩn.

+0

hoạt động nhưng tôi muốn hiển thị theo thứ tự bảng chữ cái như tên có chữ cái đầu tiên và sau đó là tên có chữ b –

+2

@lak trong iphone: Vậy chính xác bạn đang cố làm gì? Ý tôi là, những câu trả lời này đều khá giống nhau, và từ những gì tôi có thể hiểu được từ câu hỏi của bạn - đúng. Nghe có vẻ với tôi rằng bạn nên thử tự mình làm một số nghiên cứu trước khi đặt câu hỏi hoặc xác định câu hỏi tốt hơn để chúng tôi có thể giúp bạn. – skajfes

4
select columns 
    from table 
where (
     column like 'a%' 
     or column like 'b%') 
order by column asc 
+0

chúng ta sẽ chia sẻ trong vinh quang :-) – cfEngineers

0

Những gì cfengineers đã nói, ngoại trừ có vẻ như bạn cũng sẽ muốn sắp xếp nó.

select columns 
    from table 
where (
     column like 'a%' 
     or column like 'b%') 
order by column 

Có lẽ bạn nên xem một số hướng dẫn về SQL, nó khá thú vị.

0

Nếu bạn đang hỏi về thứ tự chữ cái cú pháp là:

SELECT * FROM table ORDER BY column 

ví dụ tốt nhất mà tôi có thể cung cấp mà không biết bàn và lĩnh vực của bạn tên:

SELECT * FROM employees ORDER BY name 
+0

Có điều gì sai với đề xuất của tôi không? Tại sao nó sẽ nhận được một downvote? – Purge

+1

Nó không phải của tôi. Tôi nghi ngờ đó là bởi vì câu hỏi nói rằng họ muốn tên bắt đầu bằng a và b và câu trả lời của bạn không xử lý điều đó. Tôi sẽ không ngạc nhiên lắm nếu cho rằng câu hỏi đó được diễn giải một cách tệ hại và cách giải thích của bạn là chính xác. –

+1

Chính xác, tôi nghi ngờ từ ngữ không chính xác, và anh ta đang tìm kiếm thứ tự chữ cái, không phải chỉ các tên A và B chỉ theo thứ tự bảng chữ cái. Nếu giải thích của tôi là không chính xác, nó không chính xác, nhưng bạn không thể làm lỗi tôi vì đã cố hết sức để trả lời một số câu hỏi mà không phải là rất dễ hiểu. – Purge

0
select * 
from stores 
where name like 'a%' or 
name like 'b%' 
order by name 
+0

điều này sẽ chỉ hoạt động cho các tên bắt đầu bằng a hoặc b, bạn cần sử dụng câu trả lời tôi đã đăng để sắp xếp theo thứ tự bảng chữ cái A-Z – Purge

0
select name_last, name_first 
from employees 
where name_last like 'A%' or name_last like 'B%' 
order by name_last, name_first asc 
0
select employee_name 
from employees 
where employee_name LIKE 'A%' OR employee_name LIKE 'B%' 
order by employee_name 
0

Ở đây những gì tôi hiểu được từ câu hỏi bắt đầu bằng "a "Và sau đó "b" ví dụ:

  • Abhay
  • Abhishek
  • Abhinav

Vì vậy, cần có hai điều kiện và cả hai nên đúng nghĩa là bạn sử dụng không thể "OR" hành Đặt hàng bởi không phải là bắt buộc nhưng nó tốt nếu bạn sử dụng.

Select e_name from emp 
where e_name like 'a%' AND e_name like '_b%' 
Ordered by e_name 
2

Cụm từ thông dụng hoạt động tốt nếu cần tìm nhiều ký tự bắt đầu. Sau đây tìm tất cả tên nhân viên bắt đầu bằng A, B, C hoặc D và thêm lệnh "UPPER" trong trường hợp tên có trong cơ sở dữ liệu có chữ cái viết thường bắt đầu. Truy vấn của tôi hoạt động trong Oracle (tôi đã không kiểm tra các DB khác).Sau đây sẽ quay trở lại ví dụ:
Adams
adams
Dean
dean

Truy vấn này cũng bỏ qua trường hợp trong ORDER BY qua cuộc gọi "thấp hơn":

SELECT employee_name 
FROM employees 
WHERE REGEXP_LIKE(UPPER(TRIM(employee_name)), '^[A-D]') 
ORDER BY lower(employee_name) 
Các vấn đề liên quan