嗨,我正在為我的軟體工程課做關于 psql 資料庫的作業,我必須做的一個問題是“查找所有包含 Python 的書籍”所以我嘗試使用 WHERE 語法,但它會給我 0 行沒有標題中包含 Python 一詞的書籍,但書籍表中顯然有任何書籍可以幫助我解決這個問題嗎?
booktown=# SELECT books.title FROM books WHERE title NOT IN ('Python');
title
-----------------------------
The Shining
Dune
2001: A Space Odyssey
The Cat in the Hat
Bartholomew and the Oobleck
Franklin in the Dark
Goodnight Moon
Little Women
The Velveteen Rabbit
Dynamic Anatomy
The Tell-Tale Heart
Programming Python
Learning Python
Perl Cookbook
Practical PostgreSQL
(15 rows)
booktown=# SELECT books.title FROM books WHERE title IN ('Python');
title
-------
(0 rows)
booktown=# SELECT books.title FROM books WHERE title LIKE 'Python';
title
-------
(0 rows)
booktown=# SELECT books.title FROM books WHERE title LIKE 'Python';
uj5u.com熱心網友回復:
您應該使用LIKEPostgresql的運算子進行模式匹配。您查詢的方式將進行精確匹配。請參閱https://www.postgresqltutorial.com/postgresql-like/ 上的示例
uj5u.com熱心網友回復:
title IN ('Python')查找標題在串列中的所有書籍。該串列僅包含一個條目“Python”。沒有標題為“Python”的書。
title LIKE 'Python'查找標題與模式“Python”匹配的所有書籍。由于模式中沒有通配符(即%, _),這將查找完全匹配。同樣,沒有名為“Python”的書。
您希望所有標題與“我們不關心的零個或多個字符,然后是 Python 一詞,然后是零個或多個我們不感興趣的字符”的模式匹配。
那就是title LIKE '%Python%'。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/407735.html
標籤:
