การกรองข้อมูล

Oracle SQL เบื้องต้น

Sara Billen

Curriculum Manager

การกรองแถว

Filter

 

  • ตัวดำเนินการเปรียบเทียบ
  • คีย์เวิร์ดสำหรับเปรียบเทียบ
  • ตัวดำเนินการเชิงตรรกะ
Oracle SQL เบื้องต้น

WHERE

SELECT FirstName, LastName, Country 
FROM Customer
WHERE Country = 'Portugal'
| FirstName | LastName  | Country  |
|-----------|-----------|----------|
| João      | Fernandes | Portugal |
| Madalena  | Sampaio   | Portugal |
Oracle SQL เบื้องต้น

ตัวดำเนินการเปรียบเทียบ

ตัวดำเนินการ คำอธิบาย
> มากกว่า
>= มากกว่าหรือเท่ากับ
< น้อยกว่า
<= น้อยกว่าหรือเท่ากับ
= เท่ากับ
<> ไม่เท่ากับ
SELECT UnitPrice
FROM Track
WHERE UnitPrice <> 0.99
Oracle SQL เบื้องต้น

คีย์เวิร์ดสำหรับเปรียบเทียบ

  คุณสมบัติเพิ่มเติมของ WHERE

Oracle SQL เบื้องต้น

คีย์เวิร์ดสำหรับเปรียบเทียบ - BETWEEN

SELECT Name, Milliseconds 
FROM Track
WHERE Milliseconds BETWEEN 100000 AND 200000
| Name              | Milliseconds |
|-------------------|--------------|
| Perfect           | 188133       |
| Right Through You | 176117       |
| We Die Young      | 152084       |
| Put You Down      | 196231       |
| ...                              |
Oracle SQL เบื้องต้น

คีย์เวิร์ดสำหรับเปรียบเทียบ - IN

SELECT EmployeeId, LastName, Title
FROM Employee
WHERE EmployeeId IN (4, 5, 6)
| EmployeeId | LastName | Title               |
|------------|----------|---------------------|
| 4          | Park     | Sales Support Agent |
| 5          | Johnson  | Sales Support Agent |
| 6          | Mitchell | IT Manager          |
Oracle SQL เบื้องต้น

คีย์เวิร์ดสำหรับเปรียบเทียบ - LIKE

เลือกแถวที่ตรงกับรูปแบบข้อความโดยใช้ LIKE

 

สัญลักษณ์ คำอธิบาย
% แทนอักขระใดก็ได้ตั้งแต่ศูนย์ตัวขึ้นไป
_ แทนอักขระเดี่ยวใดก็ได้
Oracle SQL เบื้องต้น

คีย์เวิร์ดสำหรับเปรียบเทียบ - LIKE

SELECT LastName
FROM Employee
WHERE LastName LIKE '_a%'
| LastName |
|----------|
| Park     |
| Callahan |
Oracle SQL เบื้องต้น

ตัวดำเนินการเชิงตรรกะ

  ตัวดำเนินการเชิงตรรกะ

Oracle SQL เบื้องต้น

ตัวดำเนินการเชิงตรรกะ - AND

SELECT InvoiceId, BillingCountry, Total
FROM Invoice
WHERE BillingCountry = 'Australia' 
      AND Total > 4
| InvoiceId | BillingCountry | Total |
|-----------|----------------|-------|
| 66        | Australia      | 5.94  |
| 250       | Australia      | 13.86 |
| 305       | Australia      | 8.91  |
Oracle SQL เบื้องต้น

ตัวดำเนินการเชิงตรรกะ - OR

SELECT InvoiceId, BillingCountry, Total
FROM Invoice
WHERE BillingCountry = 'Australia' 
      OR Total > 4
| InvoiceId | BillingCountry | Total |
|-----------|----------------|-------|
| 3         | Belgium        | 5.94  |
| 4         | Canada         | 8.91  |
| 5         | USA            | 13.86 |
| 10        | Ireland        | 5.94  |
| ...                                |
Oracle SQL เบื้องต้น

ตัวดำเนินการเชิงตรรกะ - NOT

SELECT InvoiceId, BillingCountry, Total
FROM Invoice
WHERE BillingCountry NOT IN ('Australia', 'Canada', 'United Kingdom')
| InvoiceId | BillingCountry | Total |
|-----------|----------------|-------|
| 1         | Germany        | 1.98  |
| 2         | Norway         | 3.96  |
| 3         | Belgium        | 5.94  |
| 5         | USA            | 13.86 |
| ...                                |
Oracle SQL เบื้องต้น

สรุป

WHERE: กรองแถวตามเงื่อนไขที่กำหนด

  • ตัวดำเนินการเปรียบเทียบ: =, <, >, <=, >=, <>
  • คีย์เวิร์ดสำหรับเปรียบเทียบ: BETWEEN, IN, LIKE
  • ตัวดำเนินการเชิงตรรกะ: AND, OR, NOT
Oracle SQL เบื้องต้น

มาฝึกกันเถอะ!

Oracle SQL เบื้องต้น

Preparing Video For Download...