日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL的高级运用_MYSQL之SQL高级运用(帮助你高效率编程)

發(fā)布時間:2024/9/15 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL的高级运用_MYSQL之SQL高级运用(帮助你高效率编程) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

小編說:這些知識常出現(xiàn)在面試題,但是實(shí)用價值很高。。其實(shí)也就是SQL的高級篇罷了,多用在統(tǒng)計(jì)方面,將行數(shù)據(jù)合并成列數(shù)據(jù)。希望讀者能舉一反三,靈活運(yùn)用。

1.一道SQL語句面試題,關(guān)于group by

表內(nèi)容:

2005-05-09 勝

2005-05-09 勝

2005-05-09 負(fù)

2005-05-09 負(fù)

2005-05-10 勝

2005-05-10 負(fù)

2005-05-10 負(fù)

如果要生成下列結(jié)果, 該如何寫sql語句?

勝 負(fù)

2005-05-09 2 2

2005-05-10 1 2

------------------------------------------

select time, sum(case when shengfu='勝' then 1 else 0 end) as?'勝',sum(case when shengfu='負(fù)' then 1 else 0 end) as '負(fù)' from my_table group by time

2.請教一個面試中遇到的SQL語句的查詢問題

表中有A B C三列,用SQL語句實(shí)現(xiàn):當(dāng)A列大于B列時選擇A列否則選擇B列,當(dāng)B列大于C列時選擇B列否則選擇C列。

------------------------------------------

select (case when a>b then a else b end ),(case when b>c then b esle c end) from my_table

3.面試題:一個當(dāng)天日期判斷的sql語句?

請取出tb_send表中日期(SendTime字段)為當(dāng)天的所有記錄?(SendTime字段為datetime型,包含日期與時間)

------------------------------------------

select * from tb where datediff(dd,SendTime,getdate())=0

4.有一張表,里面有3個字段:語文,數(shù)學(xué),英語。其中有3條記錄分別表示語文70分,數(shù)學(xué)80分,英語58分,請用一條sql語句查詢出這三條記錄并按以下條件顯示出來(并寫出您的思路):

大于或等于80表示優(yōu)秀,大于或等于60表示及格,小于60分表示不及格。

顯示格式:

語文 數(shù)學(xué) 英語

及格 優(yōu)秀 不及格

------------------------------------------

select

(case when 語文>=80 then '優(yōu)秀'

when 語文>=60 then '及格'

else '不及格') as 語文,

(case when 數(shù)學(xué)>=80 then '優(yōu)秀'

when 數(shù)學(xué)>=60 then '及格'

else '不及格') as 數(shù)學(xué),

(case when 英語>=80 then '優(yōu)秀'

when 英語>=60 then '及格'

else '不及格') as 英語,

from my_table

7.請用一個sql語句得出結(jié)果

從table1,table2中取出如Result所列格式數(shù)據(jù),注意提供的數(shù)據(jù)及結(jié)果不準(zhǔn)確,只是作為一個格式向大家請教。

如使用存儲過程也可以。

-------------------------------------

table1

月份mon???部門dep?????? 業(yè)績yj

一月份????? 01??????????????? 10

一月份????? 02??????????????? 10

一月份????? 03??????????????? 5

二月份????? 02?????????????? ?8

二月份????? 04?????????????? ?9

三月份????? 03??????????????? 8

-----------------------------------

table2

部門dep??????????? 部門名稱dname

01????????????????????? 國內(nèi)業(yè)務(wù)一部

02????????????????????? 國內(nèi)業(yè)務(wù)二部

03???????????????????? ?國內(nèi)業(yè)務(wù)三部

04????????????????????? 國際業(yè)務(wù)部

---------------------------------------------------

Result

部門名稱dname???? 一月份??? 二月份????? 三月份

國內(nèi)業(yè)務(wù)一部???????? 10????????? null???????? null

國內(nèi)業(yè)務(wù)二部???????? 10????????? 8???????????? null

國內(nèi)業(yè)務(wù)二部??????? ?null???????? 5??????????? 8

國際業(yè)務(wù)部??????????? null???????? null???????? 9

---------------------------------------------------

select a.dep,

sum(case when a.mon=1 then a.yj else 0 end) as '一月份',

sum(case when a.mon=2 then a.yj else 0 end) as '二月份',

sum(case when a.mon=3 then a.yj else 0 end) as '三月份'

from table2?b left join table1?a on a.dep=b.dep

8.華為一道面試題

一個表中的Id有多個記錄,把所有這個id的記錄查出來,并顯示共有多少條記錄數(shù)。

------------------------------------------

select id, Count(*) from tb group by id having count(*)>1

總結(jié)

以上是生活随笔為你收集整理的MySQL的高级运用_MYSQL之SQL高级运用(帮助你高效率编程)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。