在SQL(以及我使用的所有編程語言)中,以下操作順序......
SELECT
*
FROM
artist
WHERE
first_name = 'Vincent'
and
last_name = 'Monet'
or
last_name = 'Da Vinci';
......與以下內(nèi)容不同:
SELECT
*
FROM
artist
WHERE
first_name = 'Vincent'
and
(last_name = 'Monet'
or
last_name = 'Da Vinci');
你能搞清楚為什么嗎?
一個(gè)非常常見的SQL錯(cuò)誤是忘記結(jié)束括號(hào)。所以,如果我們看一下這個(gè)錯(cuò)誤的陳述:
SELECT
*
FROM
artist
WHERE
first_name = 'Vincent'
and
(last_name = 'Monet'
or
last_name = 'Da Vinci';
我們得到一個(gè)錯(cuò)誤代碼與錯(cuò)誤的位置(從頭開始的第102個(gè)字符):

記?。?strong>括號(hào)總是成對(duì)出現(xiàn)。
單引號(hào)('')或雙引號(hào)(“”)也是如此。在SQL中沒有任何情況我們會(huì)在沒有配對(duì)的情況下找到引用(單引號(hào)或雙引號(hào))。列文本值可以包含一個(gè)引號(hào)(例如exp.last_name = "O'Reilly"
),在這些情況下,我們必須混合兩種類型的引號(hào)或使用轉(zhuǎn)義字符。(在SQL中,使用轉(zhuǎn)義字符只是意味著在要停用的字符附近放置另一個(gè)引號(hào) - 例如exp.last_name = 'O'’Reilly.
)
記住人們通常會(huì)忘記右括號(hào)或右引號(hào)。一般很少會(huì)省略開始的括號(hào)或引號(hào)。所以,請(qǐng)仔細(xì)查看所有結(jié)束時(shí)的標(biāo)點(diǎn)符號(hào)!








暫無數(shù)據(jù)