mysql

  1. %是0个或多个字符,结合like使用
  2. _是1个字符,结合like使用
  3. concat函数:合并两个或以上的字符串
  4. replace函数:

REPLACE(‘vessel’,‘e’,‘a’) -> ‘vassal’

  1. case函数

    CASE WHEN condition1 THEN value1 
           WHEN condition2 THEN value2  
           ELSE def_value 
      END 
    

    例:给出名字和所属大洲的名字,其中所属大洲的名字是Oceania的改成Australasia,国名的第一个字符是N

    SELECT name,
           CASE WHEN continent='Oceania' THEN 'Australasia'
                ELSE continent END
      FROM world
     WHERE name LIKE 'N%'
    
  2. all函数
    我們可以用ALL 這個詞對一個列表進行>=或>或<或<=充當比較。例如,你可以用此查詢找到世界上最大的國家(以人口計算):

    SELECT name
      FROM world
     WHERE population >= ALL(SELECT population
                               FROM world
                              WHERE population>0)
    
  3. 我們可以在子查詢,參閱外部查詢的數值。我們為表格再命名,便可以分別內外兩個不同的表格。
    在每一個州中找出最大面積的國家,列出洲份 continent, 國家名字 name 及面積 area。 (有些國家的記錄中,AREA是NULL,沒有填入資料的。)

    SELECT continent, name, area FROM world x
      WHERE area >= ALL
        (SELECT area FROM world y
            WHERE y.continent=x.continent
              AND area>0)
    

题1. 找出所有首都和其國家名字,而首都要有國家名字中出現。

select capital, name from world where capital like concat('%',name,'%');

题2:“Monaco-Ville"是合併國家名字 “Monaco” 和延伸詞”-Ville".
顯示國家名字,及其延伸詞,如首都是國家名字的延伸。
你可以使用SQL函數 REPLACE 或 MID.

select name, replace(capital,name,'') from world where capital LIKE concat(name,'%_');

题3:在每一個州中找出最大面積的國家,列出洲份 continent, 國家名字 name 及面積 area。 (有些國家的記錄中,AREA是NULL,沒有填入資料的。)

SELECT continent, name, area FROM world x
  WHERE area >= ALL
    (SELECT area FROM world y
        WHERE y.continent=x.continent
          AND area>0)

题4:有些國家的人口是同洲份的所有其他國的3倍或以上。列出 國家名字name 和 洲份 continent

select name,continent from world x 
where population/3 >= 
	all(select population from world y 
	where y.continent = x.continent and y.name != x.name)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值