コンテンツにスキップ

WHERE (SQL)

Xuất điển: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』

WHERECú は,SQLにおけるDư ước ngữの1つである.データ thao tác ngôn ngữ(DML) と cộng に sử dụng し, DMLが thao tác する hành を hạn định する dịch cát を trì つ.

WHERE cú の chỉ định は tất tu ではないが, データを thao tác する mệnh lệnh と nhất tự に sử dụng することで đối tượng を hạn định することができる.

Cụ thể đích には,SELECT,INSERT,UPDATE,DELETEの các mệnh lệnh で thao tác đối tượng の hành を hạn định することができる[1].

Văn pháp

[Biên tập]

WHEREデータ thao tác ngôn ngữ(DML) と cộng に sử dụng される. Nhất bàn đích な cấu văn は dĩ hạ のようになる.

SQL-DML mệnh lệnh
FROMテーブル danh
WHEREĐiều kiện

WHERE の hậu に ký thuật された điều kiện が chân のとき DML の thao tác ( trừu xuất ・ tước trừ など ) の đối tượng となる. Điều kiện が ngụy または bất minh (NULL) のとき, thao tác の đối tượng とならない.

Thứ のクエリーは,mytableテーブルのmynumberが100より đại きいものを trừu xuất する.

SELECT*
FROMmytable
WHEREmynumber>100

Thứ のDELETEVăn は,mytableテーブルのmynumberに trị が nhập っていないか, 100が nhập っているものを tước trừ する.

DELETE
FROMmytable
WHEREmynumberISNULLORmycol=100

Điều kiện văn

[Biên tập]

単 thuần な điều kiện văn は, diễn toán tử の=,<>,>,>=,<,<=,IN,BETWEEN,LIKE,IS NULLorIS NOT NULLを sử dụng する.

Điều kiện thức は tất yếu に ứng じてかっこで囲むことができる. また, phục sổ の điều kiện văn を AND や OR で tiếp 続することができる. この ưu tiên thuận vị を minh kỳ するためにもかっこは hữu dụng である. かっこがない tràng hợp, AND diễn toán tử が OR diễn toán tử に ưu tiên される.

Dĩ hạ の lệ はmytableテーブルにある “mynumberが100より đại きい” かつ “『アイテム』が『ハンマー』” であるデータを tước trừ する.

DELETE
FROMmytable
WHEREmynumber>100ANDアイテム='ハンマー'

INは, trực hậu に ký thuật したデータ quần の trung に nhất trí する trị があるかどうかを phán đoạn する.

SELECTenameWHEREenameIN(' trị 1',' trị 2',...)

この văn の tràng hợp,enameがかっこの trung のいずれかと nhất trí すれば chân となる. Lệ えば trị が2つの tràng hợp は dĩ hạ の văn と đồng đẳng になる.

SELECTenameWHEREename=' trị 1'ORename=' trị 2'

Hậu giả の thư き phương の tràng hợp phục sổ の liệt を phán định に hàm めることができるが IN では単 nhất の hạng mục しか đối tượng にできない. Nhất phương, hầu bổ の kiện sổ đa い tràng hợp は IN を sử dụng した phương が giản khiết に thư くことができる.

BETWEEN

[Biên tập]

BETWEENは, chỉ định された phạm 囲 nội に trị があるかを phán đoạn する.

SELECTenameWHEREenameBETWEEN' trị 1'AND' trị 2'

Dĩ hạ の lệ は thâu nhập が “500000 dĩ thượng 1000000 dĩ hạ” のデータを trừu xuất する.

SELECTThâu nhậpfromempWHEREThâu nhậpBETWEEN500000AND1000000

LIKEは điều kiện に hợp う văn tự liệt を kiểm tác する.

Mạt vĩ のワイルドカード
Hạ の lệ は 'S' で thủy まるすべての văn tự liệt が nhất trí する.
SELECTenameFROMempWHEREenameLIKE'S%';
Mạo đầu のワイルドカード
Hạ の lệ は 'S' で chung わるすべての văn tự liệt が nhất trí する.
SELECTenameFROMempWHEREenameLIKE'%S';
Phục sổ のワイルドカード
Hạ の lệ は 'S' がどこかに hàm まれるすべての văn tự liệt が nhất trí する.
SELECTenameFROMempWHEREenameLIKE'%S%';
1 văn tự phân のワイルドカード
Hạ の lệ は 'A' と 'E' の gian に1 văn tự だけ văn tự が tồn tại する văn tự liệt に nhất trí する.
SELECTenameFROMempWHEREenameLIKE'%A_E%';
Văn tự クラス[2]
Hạ の lệ は tối sơ の văn tự がアルファベットか sổ tự か '_' である văn tự liệt に nhất trí する.
SELECTenameFROMempWHEREenameLIKE'[a-zA-Z0-9_]%';

SQL を sử dụng する tràng hợp, LIKE diễn toán tử は tác dẫn によるパフォーマンスを vô thị することを nhận thức する tất yếu がある. Khả năng ならば '=' や '<>' などの diễn toán tử を sử dụng した phương がパフォーマンスがいい. また, データベースソフトによって văn tự の tráp い ( đại văn tự と tiểu văn tự など ) が vi うことにも chú ý しないといけない.

Tham chiếu

[Biên tập]
  1. ^SQL WHERE Clause – Things beginners must know”.2017 niên 10 nguyệt 9 nhậtDuyệt lãm.
  2. ^Microsoft TechnetRetrieved 21 November 2013.

Ngoại bộ リンク

[Biên tập]