Computer >> Máy Tính >  >> Lập trình >> MySQL

Truy vấn MySQL để tìm danh sách tên thành phố không bắt đầu bằng nguyên âm?

Bạn có thể sử dụng DISTINCT với toán tử RLIKE để tìm danh sách tên thành phố không bắt đầu bằng nguyên âm.

Cú pháp như sau -

SELECT DISTINCT yourCityColumnName FROM yourTableName WHERE
yourCityColumnName NOT RLIKE ‘ ^[AEIOUaeiou].*$’;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Ở đây, chúng tôi có một cột cho tên thành phố.

Truy vấn để tạo bảng như sau -

mysql> create table Employee_Information
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> EmployeeName varchar(20),
   -> CityName varchar(20),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.76 sec)

Chèn một số bản ghi trong bảng bằng lệnh INSERT. Truy vấn như sau -

mysql> insert into Employee_Information(EmployeeName,CityName) values('Larry','New York');
Query OK, 1 row affected (0.12 sec)

mysql> insert into Employee_Information(EmployeeName,CityName) values('Sam','Indianapolis');
Query OK, 1 row affected (0.15 sec)

mysql> insert into Employee_Information(EmployeeName,CityName) values('Carol','El Paso');
Query OK, 1 row affected (0.16 sec)

mysql> insert into Employee_Information(EmployeeName,CityName) values('John','Austin');
Query OK, 1 row affected (0.07 sec)

mysql> insert into Employee_Information(EmployeeName,CityName) values('Mike','Denver');
Query OK, 1 row affected (0.06 sec)

mysql> insert into Employee_Information(EmployeeName,CityName) values('David','Las Vegas');
Query OK, 1 row affected (0.11 sec)

mysql> insert into Employee_Information(EmployeeName,CityName) values('James','Albuquerque');
Query OK, 1 row affected (0.13 sec)

mysql> insert into Employee_Information(EmployeeName,CityName) values('Robert','Portland');
Query OK, 1 row affected (0.28 sec)

mysql> insert into Employee_Information(EmployeeName,CityName) values('Richard','Irvine');
Query OK, 1 row affected (0.10 sec)

mysql> insert into Employee_Information(EmployeeName,CityName) values('Michael',' Garland');
Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from Employee_Information;

Sau đây là kết quả -

+----+--------------+--------------+
| Id | EmployeeName | CityName     |
+----+--------------+--------------+
|  1 | Larry        | New York     |
|  2 | Sam          | Indianapolis |
|  3 | Carol        | El Paso      |
|  4 | John         | Austin       |
|  5 | Mike         | Denver       |
|  6 | David        | Las Vegas    |
|  7 | James        | Albuquerque  |
|  8 | Robert       | Portland     |
|  9 | Richard      | Irvine       |
| 10 | Michael      | Garland      |
+----+--------------+--------------+
10 rows in set (0.00 sec)

Đây là truy vấn để tìm danh sách các tên thành phố không bắt đầu bằng nguyên âm. Điều này có nghĩa là chữ cái đầu tiên của tên thành phố không được bắt đầu bằng A, E, I, O, U hoặc a, e, i, o, u -

mysql> SELECT DISTINCT CityName FROM Employee_Information
   -> WHERE CityName NOT RLIKE '^[AEIOUaeiou].*$';

Sau đây là kết quả -

+-----------+
| CityName  |
+-----------+
| New York  |
| Denver    |
| Las Vegas |
| Portland  |
| Garland   |
+-----------+
5 rows in set (0.00 sec)