成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL算術(shù)/比較/邏輯/位/運(yùn)算符與正則舉例詳解

瀏覽:187日期:2023-02-18 16:43:32
目錄
  • 1. 算術(shù)運(yùn)算符
    • 加法與減法運(yùn)算符
    • 乘法與除法運(yùn)算符
    • 求模(求余)運(yùn)算符
  • 2. 比較運(yùn)算符
    • 等號運(yùn)算符
    • 安全等于運(yùn)算符
    • 不等于運(yùn)算符
  • 非符號類型的運(yùn)算符
    • 空運(yùn)算符
    • 非空運(yùn)算符
    • 最小值運(yùn)算符
    • 最大值運(yùn)算符
    • BETWEEN AND運(yùn)算符
    • IN運(yùn)算符
    • NOT IN運(yùn)算符
    • LIKE運(yùn)算符
      • ESCAPE
    • REGEXP運(yùn)算符
    • 3. 邏輯運(yùn)算符
      • 邏輯非運(yùn)算符
        • 邏輯與運(yùn)算符
          • 邏輯或運(yùn)算符
            • 邏輯異或運(yùn)算符
            • 4. 位運(yùn)算符
              • 按位與運(yùn)算符
                • 按位或運(yùn)算符
                  • 按位異或運(yùn)算符
                    • 按位取反運(yùn)算符
                      • 按位右移運(yùn)算符
                        • 按位左移運(yùn)算符
                        • 5. 運(yùn)算符的優(yōu)先級
                          • 拓展:使用正則表達(dá)式查詢
                            • 查詢以特定字符或字符串開頭的記錄
                              • 查詢以特定字符或字符串結(jié)尾的記錄
                                • 用符號"."來替代字符串中的任意一個字符
                                  • 使用"*“和”+"來匹配多個字符
                                    • 匹配指定字符串
                                      • 匹配指定字符中的任意一個
                                        • 匹配指定字符以外的字符
                                          • 使用{n,}或者{n,m}來指定字符串連續(xù)出現(xiàn)的次數(shù)
                                          • 練習(xí)題
                                            • 總結(jié)

                                              1. 算術(shù)運(yùn)算符

                                              算術(shù)運(yùn)算符主要用于數(shù)學(xué)運(yùn)算,其可以連接運(yùn)算符前后的兩個數(shù)值或表達(dá)式,對數(shù)值或表達(dá)式進(jìn)行加(+)、減(-)、乘(*)、除(/)和取模(%)運(yùn)算。

                                              加法與減法運(yùn)算符

                                              SELECT 100, 100 + 0, 100 - 0, 100 + 50, 100 + 50 -30, 100 + 35.5, 100 - 35.5FROM dual;

                                              在Java中,+的左右兩邊如果有字符串,那么表示字符串的拼接。但是在MySQL中+只表示數(shù)值相加。如果遇到非數(shù)值類型,先嘗試轉(zhuǎn)成數(shù)值,如果轉(zhuǎn)失敗,就按0計算。

                                              MySQL 中字符串拼接要使用字符串函數(shù) CONCAT() 實(shí)現(xiàn)

                                              乘法與除法運(yùn)算符

                                              SELECT 100, 100 * 1, 100 * 1.0, 100 / 1.0, 100 / 2,100 + 2 * 5 / 2,100 /3, 100 DIV 0 FROM dual;

                                              • 一個數(shù)除以整數(shù)后,不管是否能除盡,結(jié)果都為一個浮點(diǎn)數(shù);
                                              • 一個數(shù)除以另一個數(shù),除不盡時,結(jié)果為一個浮點(diǎn)數(shù),并保留到小數(shù)點(diǎn)后4位;
                                              • 在數(shù)學(xué)運(yùn)算中,0不能用作除數(shù),在MySQL中,一個數(shù)除以0為NULL。

                                              求模(求余)運(yùn)算符

                                              將t22表中的字段i對3和5進(jìn)行求模(求余)運(yùn)算。

                                              SELECT 12 % 3, 12 MOD 5 FROM dual;

                                              案例:

                                              #篩選出employee_id是偶數(shù)的員工SELECT * FROM employeesWHERE employee_id MOD 2 = 0;

                                              2. 比較運(yùn)算符

                                              比較運(yùn)算符用來對表達(dá)式左邊的操作數(shù)和右邊的操作數(shù)進(jìn)行比較,比較的結(jié)果為真則返回1,比較的結(jié)果為假則返回0,其他情況則返回NULL。

                                              比較運(yùn)算符經(jīng)常被用來作為SELECT查詢語句的條件來使用,返回符合條件的結(jié)果記錄。

                                              等號運(yùn)算符

                                              • 等號運(yùn)算符(=)判斷等號兩邊的值、字符串或表達(dá)式是否相等,如果相等則返回1,不相等則返回 0。
                                              • 在使用等號運(yùn)算符時,遵循如下規(guī)則:
                                                • 如果等號兩邊的值、字符串或表達(dá)式都為字符串,則MySQL會按照字符串進(jìn)行比較,其比較的是每個字符串中字符的ANSI編碼是否相等。
                                                • 如果等號兩邊的值都是整數(shù),則MySQL會按照整數(shù)來比較兩個值的大小。
                                                • 如果等號兩邊的值一個是整數(shù),另一個是字符串,則MySQL會將字符串轉(zhuǎn)化為數(shù)字進(jìn)行比較。如果字符串不能隱式地轉(zhuǎn)為數(shù)字,則會等價數(shù)字0。
                                                • 如果等號兩邊的值、字符串或表達(dá)式中有一個為NULL,則比較結(jié)果為NULL。
                                              • 對比:SQL中賦值符號使用 :=
                                              SELECT 1 = 1, 1 = "1", 1 = 0, "a" = "a", (5 + 3) = (2 + 6), "" = NULL , NULL = NULL;

                                              安全等于運(yùn)算符

                                              安全等于運(yùn)算符(<=>)與等于運(yùn)算符(=)的作用是相似的, 唯一的區(qū)別是‘<=>’可以用來對NULL進(jìn)行判斷。

                                              • 在兩個操作數(shù)均為NULL時,其返回值為1,而不為NULL;
                                              • 當(dāng)一個操作數(shù)為NULL時,其返回值為0,而不為NULL。
                                              SELECT 1 <=> "1", 1 <=> 0, "a" <=> "a", (5 + 3) <=> (2 + 6), "" <=> NULL,NULL <=> NULL FROM dual;

                                              不等于運(yùn)算符

                                              不等于運(yùn)算符(<>和!=)用于判斷兩邊的數(shù)字、字符串或者表達(dá)式的值是否不相等.

                                              • 如果不相等則返回1,相等則返回0。
                                              • 等于運(yùn)算符不能判斷NULL值。如果兩邊的值有任意一個為NULL,或兩邊都為NULL,則結(jié)果為NULL。

                                              SQL語句示例如下:

                                              SELECT 1 <> 1, 1 != 2, "a" != "b", (3+4) <> (2+6), "a" != NULL, NULL <> NULL;

                                              非符號類型的運(yùn)算符

                                              空運(yùn)算符

                                              空運(yùn)算符(IS NULL或者ISNULL)判斷一個值是否為NULL

                                              • 如果為NULL則返回1,否則返回0。

                                              SQL語句示例如下:

                                              SELECT NULL IS NULL, ISNULL(NULL), ISNULL("a"), 1 IS NULL;

                                              示例:

                                              #查詢commission_pct等于NULL。比較如下的四種寫法SELECT employee_id,commission_pct FROM employees WHERE commission_pct IS NULL;SELECT employee_id,commission_pct FROM employees WHERE commission_pct <=> NULL;SELECT employee_id,commission_pct FROM employees WHERE ISNULL(commission_pct);

                                              非空運(yùn)算符

                                              非空運(yùn)算符(IS NOT NULL)判斷一個值是否不為NULL。

                                              • 如果不為NULL則返回1,否則返回0。

                                              SQL語句示例如下:

                                              SELECT NULL IS NOT NULL, "a" IS NOT NULL, 1 IS NOT NULL;

                                              示例:

                                              #查詢commission_pct不等于NULLSELECT employee_id,commission_pct FROM employees WHERE commission_pct IS NOT NULL;SELECT employee_id,commission_pct FROM employees WHERE NOT commission_pct <=> NULL;SELECT employee_id,commission_pct FROM employees WHERE NOT ISNULL(commission_pct);

                                              最小值運(yùn)算符

                                              語法格式為:LEAST(值1,值2,…,值n)。其中,“值n”表示參數(shù)列表中有n個值。在有兩個或多個參數(shù)的情況下,返回最小值。

                                              • 當(dāng)參數(shù)是整數(shù)或者浮點(diǎn)數(shù)時,LEAST將返回其中最小的值;
                                              • 當(dāng)參數(shù)為字符串時,返回字母表中順序最靠前的字符;
                                              • 當(dāng)比較值列表中有NULL時,不能判斷大小,返回值為NULL;
                                              SELECT LEAST (1,0,2), LEAST("b","a","c"), LEAST(1,NULL,2);

                                              由結(jié)果可以看到,當(dāng)參數(shù)是整數(shù)或者浮點(diǎn)數(shù)時,LEAST將返回其中最小的值;當(dāng)參數(shù)為字符串時,返回字母表中順序最靠前的字符;當(dāng)比較值列表中有NULL時,不能判斷大小,返回值為NULL。

                                              最大值運(yùn)算符

                                              語法格式為:GREATEST(值1,值2,…,值n)。其中,n表示參數(shù)列表中有n個值。當(dāng)有兩個或多個參數(shù)時,返回值為最大值。

                                              • 當(dāng)參數(shù)中是整數(shù)或者浮點(diǎn)數(shù)時,GREATEST將返回其中最大的值;
                                              • 當(dāng)參數(shù)為字符串時,返回字母表中順序最靠后的字符;
                                              • 當(dāng)比較值列表中有NULL時,不能判斷大小,返回值為NULL。
                                              SELECT GREATEST(1,0,2), GREATEST("b","a","c"), GREATEST(1,NULL,2);

                                              BETWEEN AND運(yùn)算符

                                              BETWEEN運(yùn)算符使用的格式通常為SELECT D FROM TABLE WHERE C BETWEEN A AND B,此時,當(dāng)C大于或等于A,并且C小于或等于B時,結(jié)果為1,否則結(jié)果為0。注意是閉區(qū)間。

                                              SELECT 1 BETWEEN 0 AND 1, 10 BETWEEN 11 AND 12, "b" BETWEEN "a" AND "c";

                                              IN運(yùn)算符

                                              IN運(yùn)算符用于判斷給定的值是否是IN列表中的一個值。

                                              • 如果是則返回1,否則返回0。
                                              • 如果給定的值為NULL,或者IN列表中存在NULL,則結(jié)果為NULL。
                                              SELECT "a" IN ("a","b","c"), 1 IN (2,3), NULL IN ("a","b"), "a" IN ("a", NULL);

                                              NOT IN運(yùn)算符

                                              NOT IN運(yùn)算符用于判斷給定的值是否不是IN列表中的一個值。

                                              • 如果不是IN列表中的一個值,則返回1,否則返回0。
                                              SELECT "a" NOT IN ("a","b","c"), 1 NOT IN (2,3);

                                              LIKE運(yùn)算符

                                              LIKE運(yùn)算符主要用來匹配字符串,通常用于模糊匹配。

                                              • 如果滿足條件則返回1,否則返回0。
                                              • 如果給定的值或者匹配條件為NULL,則返回結(jié)果為NULL。

                                              LIKE運(yùn)算符通常使用如下通配符:

                                              “%”:匹配0個或多個字符。
                                              “_”:只能匹配一個字符。

                                              SQL語句示例如下:

                                              SELECT NULL LIKE "abc", "abc" LIKE NULL;

                                              SELECT first_nameFROM employeesWHERE first_name LIKE "S%";

                                              SELECT last_nameFROM employeesWHERE last_name LIKE "_o%";

                                              ESCAPE

                                              回避特殊符號的:使用轉(zhuǎn)義符。例如:將[%]轉(zhuǎn)為[ %]、[]轉(zhuǎn)為[ ],然后再加上[ESCAPE‘$’]即可。

                                              # 這里采用了\表示轉(zhuǎn)義SELECT job_idFROM jobsWHERE job_id LIKE ‘IT\_%‘;

                                              如果使用\表示轉(zhuǎn)義,要省略ESCAPE。如果不是\,則要加上ESCAPE。

                                              # 這里采用了ESCAPE轉(zhuǎn)義SELECT job_idFROM jobsWHERE job_id LIKE ‘IT$_%‘ escape ‘$‘;

                                              REGEXP運(yùn)算符

                                              REGEXP運(yùn)算符用來匹配字符串,語法格式為: expr REGEXP 匹配條件。

                                              • 如果expr滿足匹配條件,返回1;如果不滿足,則返回0。
                                              • 若expr或匹配條件任意一個為NULL,則結(jié)果為NULL。

                                              REGEXP運(yùn)算符在進(jìn)行匹配時,常用的有下面幾種通配符:

                                              (1)‘^’匹配以該字符后面的字符開頭的字符串。
                                              (2)‘$’匹配以該字符前面的字符結(jié)尾的字符串。
                                              (3)‘.’匹配任何一個單字符。
                                              (4)“[...]”匹配在方括號內(nèi)的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。為了命名字符的范圍,使用一
                                              個‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何數(shù)字。
                                              (5)‘*’匹配零個或多個在它前面的字符。例如,“x*”匹配任何數(shù)量的‘x’字符,“[0-9]*”匹配任何數(shù)量的數(shù)字,
                                              而“*”匹配任何數(shù)量的任何字符。

                                              SQL語句示例如下:

                                              SELECT "timerring" REGEXP "^t", "timerring" REGEXP "g$", "timerring" REGEXP "rr";

                                              3. 邏輯運(yùn)算符

                                              邏輯運(yùn)算符主要用來判斷表達(dá)式的真假,在MySQL中,邏輯運(yùn)算符的返回結(jié)果為1、0或者NULL。

                                              MySQL中支持4種邏輯運(yùn)算符如下:

                                              邏輯非運(yùn)算符

                                              邏輯非(NOT或!)運(yùn)算符表示當(dāng)給定的值為0時返回1;當(dāng)給定的值為非0值時返回0;當(dāng)給定的值為NULL時,返回NULL。

                                              SELECT NOT 1, NOT 0, NOT(1+1), NOT !1, NOT NULL;

                                              示例

                                              SELECT last_name, job_idFROM employeesWHERE job_id NOT IN ("IT_PROG", "ST_CLERK", "SA_REP");

                                              邏輯與運(yùn)算符

                                              邏輯與(AND或&&)運(yùn)算符是

                                              • 當(dāng)給定的所有值均為非0值,并且都不為NULL時,返回1;
                                              • 當(dāng)給定的一個值或者多個值為0時則返回0;
                                              • 否則返回NULL。
                                              SELECT 1 AND -1, 0 AND 1, 0 AND NULL, 1 AND NULL;

                                              邏輯或運(yùn)算符

                                              邏輯或(OR或||)運(yùn)算符是

                                              • 當(dāng)給定的值都不為NULL,并且任何一個值為非0值時,則返回1,否則返回0;
                                              • 當(dāng)一個值為NULL,并且另一個值為非0值時,返回1,
                                              • 否則返回NULL;當(dāng)兩個值都為NULL時,返回NULL。
                                              SELECT 1 OR -1, 1 OR 0, 1 OR NULL, 0 || NULL, NULL || NULL;

                                              示例:

                                              SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >= 10000OR job_id LIKE "%MAN%";

                                              注意:

                                              OR可以和AND一起使用,但是在使用時要注意兩者的優(yōu)先級,由于AND的優(yōu)先級高于OR,因此先
                                              對AND兩邊的操作數(shù)進(jìn)行操作,再與OR中的操作數(shù)結(jié)合。

                                              邏輯異或運(yùn)算符

                                              邏輯異或(XOR)運(yùn)算符是當(dāng)

                                              • 給定的值中任意一個值為NULL時,則返回NULL;
                                              • 如果兩個非NULL的值都是0或者都不等于0時,則返回0;
                                              • 如果一個值為0,另一個值不為0時,則返回1。
                                              SELECT 1 XOR -1, 1 XOR 0, 0 XOR 0, 1 XOR NULL, 1 XOR 1 XOR 1, 0 XOR 0 XOR 0;

                                              示例:

                                              select last_name,department_id,salaryfrom employeeswhere department_id in (10,20) XOR salary > 8000;

                                              4. 位運(yùn)算符

                                              位運(yùn)算符是在二進(jìn)制數(shù)上進(jìn)行計算的運(yùn)算符。位運(yùn)算符會先將操作數(shù)變成二進(jìn)制數(shù),然后進(jìn)行位運(yùn)算,最后將計算結(jié)果從二進(jìn)制變回十進(jìn)制數(shù)。

                                              MySQL支持的位運(yùn)算符如下:

                                              按位與運(yùn)算符

                                              按位與(&)運(yùn)算符將給定值對應(yīng)的二進(jìn)制數(shù)逐位進(jìn)行邏輯與運(yùn)算。

                                              • 當(dāng)給定值對應(yīng)的二進(jìn)制位的數(shù)值都為1時,則該位返回1,否則返回0。
                                              # 1的二進(jìn)制數(shù)為0001,10的二進(jìn)制數(shù)為1010,所以1 & 10的結(jié)果為0000,對應(yīng)的十進(jìn)制數(shù)為0。# 20的二進(jìn)制數(shù)為10100,30的二進(jìn)制數(shù)為11110,所以20 & 30的結(jié)果為10100,對應(yīng)的十進(jìn)制數(shù)為20。SELECT 1 & 10, 20 & 30;

                                              按位或運(yùn)算符

                                              按位或(|)運(yùn)算符將給定的值對應(yīng)的二進(jìn)制數(shù)逐位進(jìn)行邏輯或運(yùn)算。

                                              • 當(dāng)給定值對應(yīng)的二進(jìn)制位的數(shù)值有一個或兩個為1時,則該位返回1,否則返回0。
                                              # 1的二進(jìn)制數(shù)為0001,10的二進(jìn)制數(shù)為1010,所以1 ^ 10的結(jié)果為1011,對應(yīng)的十進(jìn)制數(shù)為11。# 20的二進(jìn)制數(shù)為10100,30的二進(jìn)制數(shù)為11110,所以20 ^ 30的結(jié)果為01010,對應(yīng)的十進(jìn)制數(shù)為10。SELECT 1 ^ 10, 20 ^ 30;

                                              按位異或運(yùn)算符

                                              按位異或(^)運(yùn)算符將給定的值對應(yīng)的二進(jìn)制數(shù)逐位進(jìn)行邏輯異或運(yùn)算。

                                              • 當(dāng)給定值對應(yīng)的二進(jìn)制位的數(shù)值不同時,則該位返回1,否則返回0。
                                              # 1的二進(jìn)制數(shù)為0001,10的二進(jìn)制數(shù)為1010,所以1 ^ 10的結(jié)果為1011,對應(yīng)的十進(jìn)制數(shù)為11。# 20的二進(jìn)制數(shù)為10100,30的二進(jìn)制數(shù)為11110,所以20 ^ 30的結(jié)果為01010,對應(yīng)的十進(jìn)制數(shù)為10。SELECT 1 ^ 10, 20 ^ 30;

                                              示例:

                                              SELECT 12 & 5, 12 | 5,12 ^ 5 FROM DUAL;

                                              按位取反運(yùn)算符

                                              按位取反(~)運(yùn)算符將給定的值的二進(jìn)制數(shù)逐位進(jìn)行取反操作,即將1變?yōu)?,將0變?yōu)?。

                                              # 由于按位取反(~)運(yùn)算符的優(yōu)先級高于按位與(&)運(yùn)算符的優(yōu)先級,所以10 & ~1,首先,對數(shù)字1進(jìn)行按位取反操作,結(jié)果除了最低位為0,其他位都為1,然后與10進(jìn)行按位與操作,結(jié)果為10。SELECT 10 & ~1;

                                              按位右移運(yùn)算符

                                              按位右移(>>)運(yùn)算符將給定的值的二進(jìn)制數(shù)的所有位右移指定的位數(shù)。

                                              右移指定的位數(shù)后,右邊低位的數(shù)值被移出并丟棄,左邊高位空出的位置用0補(bǔ)齊。

                                              # 1的二進(jìn)制數(shù)為0000 0001,右移2位為0000 0000,對應(yīng)的十進(jìn)制數(shù)為0。# 4的二進(jìn)制數(shù)為0000 0100,右移2位為0000 0001,對應(yīng)的十進(jìn)制數(shù)為1。SELECT 1 >> 2, 4 >> 2;

                                              按位左移運(yùn)算符

                                              按位左移(<<)運(yùn)算符將給定的值的二進(jìn)制數(shù)的所有位左移指定的位數(shù)。左移指定的位數(shù)后,左邊高位的數(shù)值被移出并丟棄,右邊低位空出的位置用0補(bǔ)齊。

                                              SELECT 1 << 2, 4 << 2;

                                              5. 運(yùn)算符的優(yōu)先級

                                              數(shù)字編號越大,優(yōu)先級越高,優(yōu)先級高的運(yùn)算符先進(jìn)行計算??梢钥吹剑x值運(yùn)算符的優(yōu)先級最低,使用“()”括起來的表達(dá)式的優(yōu)先級最高。

                                              拓展:使用正則表達(dá)式查詢

                                              正則表達(dá)式通常被用來檢索或替換那些符合某個模式的文本內(nèi)容,根據(jù)指定的匹配模式匹配文本中符合要求的特殊字符串。

                                              例如,從一個文本文件中提取電話號碼,查找一篇文章中重復(fù)的單詞或者替換用戶輸入的某些敏感詞語等,這些地方都可以使用正則表達(dá)式。正則表達(dá)式強(qiáng)大而且靈活,可以應(yīng)用于非常復(fù)雜的查詢。

                                              MySQL中使用REGEXP關(guān)鍵字指定正則表達(dá)式的字符匹配模式。下表列出了REGEXP操作符中常用字符匹配列表。

                                              查詢以特定字符或字符串開頭的記錄

                                              字符‘^’匹配以特定字符或者字符串開頭的文本。

                                              在fruits表中,查詢f_name字段以字母‘b’開頭的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_name REGEXP "^b";

                                              查詢以特定字符或字符串結(jié)尾的記錄

                                              字符‘$’匹配以特定字符或者字符串結(jié)尾的文本。

                                              在fruits表中,查詢f_name字段以字母‘y’結(jié)尾的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_name REGEXP "y$";

                                              用符號"."來替代字符串中的任意一個字符

                                              字符‘.’匹配任意一個字符。 在fruits表中,查詢f_name字段值

                                              包含字母‘a’與‘g’且兩個字母之間只有一個字母的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_name REGEXP "a.g";

                                              使用"*“和”+"來匹配多個字符

                                              星號‘*’匹配前面的字符任意多次,包括0次。加號‘+’匹配前面的字符至少一次。

                                              在fruits表中,查詢f_name字段值以字母‘b’開頭且‘b’后面出現(xiàn)字母‘a’的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_name REGEXP "^ba*"; # 任意多次包括0次SELECT * FROM fruits WHERE f_name REGEXP "^ba+"; # 至少一次

                                              匹配指定字符串

                                              正則表達(dá)式可以匹配指定字符串,只要這個字符串在查詢文本中即可,如要匹配多個字符串,多個字符串之間使用分隔符‘|’隔開。

                                              在fruits表中,查詢f_name字段值包含字符串“on”的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_name REGEXP "on";

                                              在fruits表中,查詢f_name字段值包含字符串“on”或者“ap”的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_name REGEXP "on|ap";

                                              之前介紹過,LIKE運(yùn)算符也可以匹配指定的字符串,

                                              • 但與REGEXP不同,LIKE匹配的字符串如果在文本中間出現(xiàn),則找不到它,相應(yīng)的行也不會返回。
                                              • REGEXP在文本內(nèi)進(jìn)行匹配,如果被匹配的字符串在文本中出現(xiàn),REGEXP將會找到它,相應(yīng)的行也會被返回。對比結(jié)果如下所示。

                                              在fruits表中,使用LIKE運(yùn)算符查詢f_name字段值為“on”的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_name like "on";# Empty set(0.00 sec)

                                              匹配指定字符中的任意一個

                                              方括號“[]”指定一個字符集合,只匹配其中任何一個字符,即為所查找的文本。

                                              在fruits表中,查找f_name字段中包含字母‘o’或者‘t’的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_name REGEXP "[ot]";

                                              匹配指定字符以外的字符

                                              “[^字符集合]” 匹配不在指定集合中的任何字符。

                                              在fruits表中,查詢f_id字段中包含字母ae和數(shù)字12以外字符的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_id REGEXP "[^a-e1-2]";

                                              使用{n,}或者{n,m}來指定字符串連續(xù)出現(xiàn)的次數(shù)

                                              “字符串{n,}”表示至少匹配n次前面的字符;“字符串{n,m}”表示匹配前面的字符串不少于n次,不多于m次。

                                              在fruits表中,查詢f_name字段值出現(xiàn)字符串“ba”最少1次、最多3次的記錄,SQL語句如下:

                                              SELECT * FROM fruits WHERE f_name REGEXP "ba{1,3}";

                                              練習(xí)題

                                              1.選擇工資不在5000到12000的員工的姓名和工資

                                              SELECT last_name, salaryFROM employeesWHERE salary NOT BETWEEN 5000 and 12000;

                                              2.選擇在20或50號部門工作的員工姓名和部門號

                                              SELECT last_name, department_idFROM employeesWHERE department_id IN (20, 50);

                                              3.選擇公司中沒有管理者的員工姓名及job_id

                                              SELECT last_name, job_idFROM employeesWHERE manager_id IS NULL;

                                              4.選擇公司中有獎金的員工姓名,工資和獎金級別

                                              SELECT last_name, salary, commission_pctFROM employeesWHERE commission_pct IS NOT NULL;

                                              5.選員工姓名的第三個字母是a的員工姓名

                                              SELECT last_nameFROM employeesWHERE last_name LIKE "__a%";

                                              6.選擇姓名中有字母a和k的員工姓名

                                              SELECT last_nameFROM employeesWHERE last_name LIKE "%a%k%" OR last_name LIKE "%k%a%";# 注意這里OR前后要寫完整的語句。只寫WHERE last_name LIKE "%a%k%" OR LIKE "%k%a%";是錯的

                                              7.顯示出表 employees 表中 first_name 以 'e’結(jié)尾的員工信息

                                              SELECT employee_id,first_name,last_nameFROM employeesWHERE first_name LIKE "%e";
                                              SELECT employee_id,first_name,last_nameFROM employeesWHERE first_name REGEXP "e$";

                                              8.顯示出表 employees 部門編號在 80-100 之間的姓名、工種

                                              SELECT last_name,job_idFROM employeesWHERE department_id BETWEEN 80 AND 100;

                                              9.顯示出表 employees 的 manager_id 是 100,101,110 的員工姓名、工資、管理者id

                                              SELECT last_name,salary, manager_idFROM employeesWHERE manager_id IN (100, 101, 110);

                                              總結(jié)

                                              到此這篇關(guān)于MySQL算術(shù)/比較/邏輯/位/運(yùn)算符與正則舉例的文章就介紹到這了,更多相關(guān)MySQL算術(shù)比較邏輯位運(yùn)算符正則內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

                                              標(biāo)簽: MySQL
                                              成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
                                              国产精品www994| 日韩av高清在线观看| 久久综合伊人| 久久精品人人做人人综合| 婷婷综合五月天| 欧美呦呦网站| 国产区欧美区日韩区| 久久久久国色av免费看影院| 天天综合色天天综合色h| 国产三区二区一区久久| 综合久久综合久久| 亚洲福利专区| 国产精品女同互慰在线看| 你懂的视频一区二区| 久久综合九色欧美综合狠狠| 精品一区二区三区久久久| 成人性生交大片免费| 午夜一区不卡| 亚洲永久免费视频| 国产欧美日韩一区二区三区在线| 一区二区三区精品视频在线| 久久久水蜜桃| 夜夜嗨av一区二区三区四季av| 欧美日韩亚洲在线| 亚洲伦理在线精品| 国产精品久久777777毛茸茸| 欧美丰满美乳xxx高潮www| 中文字幕一区二区三区在线不卡| 日本少妇一区二区| 亚洲人成在线影院| 欧美激情一区二区在线| 久久99国内精品| 在线视频观看一区| 久久精品国产亚洲高清剧情介绍 | 国产日韩精品一区二区三区| 国产成人日日夜夜| 欧美久久高跟鞋激| 国产精品资源站在线| 欧美xxxxxxxx| 久久99九九99精品| 在线观看视频一区二区欧美日韩| 亚洲视频在线一区| 国产在线日韩| 国产午夜精品一区二区三区嫩草| 国产精品66部| 色999日韩国产欧美一区二区| 日日骚欧美日韩| 337p亚洲精品色噜噜| av电影在线观看不卡| 国产精品理伦片| 久久国产欧美| 国产福利不卡视频| 国产精品理论在线观看| 麻豆91精品| 日韩经典中文字幕一区| 欧美丝袜丝交足nylons图片| 一区二区免费视频| 亚洲一区二区三区四区五区午夜| 亚洲最大成人综合| 在线免费观看成人短视频| 国产一区二区三区免费看| 日韩视频一区二区在线观看| 永久域名在线精品| 自拍偷在线精品自拍偷无码专区| 亚洲第一在线| 久久精品理论片| 精品国产乱码久久久久久久| 成人黄色777网| 中文字幕中文在线不卡住| 欧美精品九九| 亚洲欧美另类小说| 亚洲欧美视频一区二区三区| 成人小视频免费观看| 精品剧情在线观看| 日本乱码高清不卡字幕| 亚洲综合丝袜美腿| 久久成人国产| 日韩视频在线你懂得| 99精品国产热久久91蜜凸| 欧美一区二区成人| 亚洲一区二区四区| 在线日韩中文| 99精品国产在热久久| 91网站在线观看视频| 欧美精品一二三| 看电视剧不卡顿的网站| 欧美亚洲自拍偷拍| 久久不见久久见中文字幕免费| 久久久久久久高潮| 日日嗨av一区二区三区四区| 欧美涩涩网站| 亚洲国产婷婷综合在线精品| 欧美三片在线视频观看 | 亚洲一区二区视频在线| 色综合天天天天做夜夜夜夜做| 日韩一卡二卡三卡四卡| 久久国产生活片100| 亚洲一区3d动漫同人无遮挡| 日韩精品色哟哟| 色一情一伦一子一伦一区| 亚洲三级电影网站| 日本韩国精品一区二区在线观看| 一区二区三区精品在线| 欧美日韩国产在线观看| 激情综合色播激情啊| 欧美白人最猛性xxxxx69交| 成人激情视频网站| 久久久亚洲欧洲日产国码αv| 国产一区日韩欧美| 国产馆精品极品| 欧美国产综合色视频| 国产精品外国| 丁香婷婷综合网| 久久女同精品一区二区| 日韩网站在线| 日本亚洲一区二区| 可以免费看不卡的av网站| 成人手机电影网| 久久久无码精品亚洲日韩按摩| 欧美日韩免费高清| 日韩成人一区二区三区在线观看| 在线观看欧美日本| 亚洲乱码视频| 免费在线观看日韩欧美| 欧美大片拔萝卜| 久久综合九色综合网站| 91麻豆.com| 另类小说视频一区二区| 最新中文字幕一区二区三区| 91精品免费在线观看| 99精品在线观看视频| 日韩高清在线电影| 亚洲第一av色| 另类小说视频一区二区| 另类小说色综合网站| 国产盗摄一区二区| 一区二区三区中文免费| 91麻豆精品国产综合久久久久久| 欧美精品一卡| 国产成人丝袜美腿| 国产日产亚洲精品系列| 久久蜜桃资源一区二区老牛| 欧美一区2区三区4区公司二百| 午夜精品久久久久久久久| 国产午夜精品一区二区三区嫩草| 亚洲综合激情| 99国产精品99久久久久久| 日韩1区2区日韩1区2区| 天天操天天色综合| 日韩黄色在线观看| 国产精品美女久久久久久2018| 欧美一二三区在线观看| 久久亚洲美女| 久久久久久九九九九| 国产综合网站| 免费一级片91| 久久精品国产一区二区| 亚洲一区二区三区中文字幕| 欧美国产精品一区二区三区| 国产精品污污网站在线观看| 国产精品五月天| 精品区一区二区| 欧美精品在线一区二区| 国产一区不卡精品| 一区二区三区在线视频免费| 日韩美女一区二区三区四区| 91精品国产一区二区人妖| 欧美精品一区二区三区视频 | 日本韩国欧美一区| 91久久国产自产拍夜夜嗨| 欧美日韩一区在线观看视频| 久久国产精品色| 婷婷国产在线综合| 亚洲最大成人网4388xx| 亚洲精品伦理在线| 一区二区三区在线免费视频| 亚洲女人小视频在线观看| 欧美国产精品v| 国产精品久久毛片av大全日韩| 亚洲国产成人午夜在线一区| 91精品国产免费| 欧美日韩国产高清一区二区三区| 国产伦精品一区二区三| 国产女主播一区二区三区| 欧美男生操女生| 欧美丰满美乳xxx高潮www| 久久久91精品国产一区二区精品| 亚洲一区二区在线视频| 99久久婷婷国产精品综合| 欧美在线视频不卡| 一区二区三区四区精品在线视频| 国产精品乡下勾搭老头1| 久久xxxx| 欧美高清在线视频| 国产精品资源站在线| 色猫猫国产区一区二在线视频| 亚洲色图制服丝袜| 91在线无精精品入口| 欧美伦理电影网| 婷婷丁香久久五月婷婷|