最全的mysql查詢語句

來源:互聯網
上載者:User

最全的mysql 查詢語句(審精)

-- 基本查詢
select * from pet

-- 列出指定的列
select name, owner form pet

-- 直接進行算術運算,對欄位起別名
select sin(1+2) as sin

--where 條件
select * from pet where (birth>'1980' and species='dog') or species='bird'

-- 對null 的條件
select * from pet where sex is not null

-- 所有名字第四位是n 的寵物資訊是
select * from pet where owner like '___n%'

-- 所有主人名叫gwen 或benny 的寵物
select * from pet where owner in ('gwen' , 'benny')

-- 查詢出生日期在90 年代是寵物,相當與 >= and   <=
select * from pet where birth between '1990' and '1999'

-- 按主人姓名排序,相同的按寵物姓名倒序排列
select * from pet order by owner, name desc

-- 查詢性別為公的寵物,按生日倒序排列
select * from pet where sex='m' order by birth desc

--char_lenngth() 返回的字元的長度,length() 返回位元組長度
SELECT owner,length(owner),char_length(owner) FROM pet p;

-- 列出養有寵物狗的人名
select distinct owner from pet where species='dog'

-- 用兩種方法查詢出所有狗和貓的名字、出生年份、出生月份
select name, left(birth,4) as year, mid(birth, 6, 2) as month from pet 
where species='dog' or species='cat'

select name, year(birth) as year, month(birth) as month from pet 
where species in('dog','cat')

-- 查詢所有名字中存在字母'e' 的人,將他們養的寵物按類別、年齡排序
select name, species, birth 
from pet 
where owner like '%e%'
order by species,birth desc

-- 數字函數
select round(2.345,2), truncate(2.345,2), mod(323,5)

-- 日期函數
select now(), curdate(), curtime()

select adddate('2007-02-02', interval 31 day)

-- 求出所有寵物的年齡
select name,birth,
truncate(datediff(now(),birth)/365,0) as age1,
year(now())-year(birth) - (dayofyear(birth)>dayofyear(now())) as age2
from pet

-- 分組函數
select min(birth),max(birth),avg(birth),count(*),count(sex),
sum(birth)
from pet

-- 每種寵物各有幾隻
select species,count(*)
from pet
group by species

-- 查詢年齡最大的寵物的資訊
select * from pet where birth =
   (select max(birth) from pet)

-- 每年各出生了幾隻寵物
select year(birth), count(*) from pet group by year(birth)

-- 鳥和貓的性別比例
select species, sex, count(*)
from pet
where species in ('cat','bird')
group by species, sex

-- 各種寵物年齡的和
select species, sum(truncate(datediff(now(),birth)/365,0)) as SumAge
from pet
group by species

-- 數量大於1 的寵物種類
select species, count(*) as c
from pet
group by species
having c>=2

-- 基本雙表關聯
select a.name,a.species, a.sex,b.date, b.type, b.remark
from pet a,event b
where a.name = b.name

-- 查詢寵物產仔時的年齡
select a.name, a.species,
truncate(datediff(b.date,a.birth)/365,0) as age
from pet a,event b
where a.name = b.name and b.type='litter'

--90 年代出生的狗的事件列表
select a.name,birth,species,sex,date,type,remark
from pet a,event b
where a.name=b.name and birth between '1990' and '1999'
and species='dog'

-- 活著的寵物按發生的事件類型分組,看各種事件發生的次數
select type, count(*)
from pet a, event b
where a.name=b.name and a.death is null
group by type

-- 記錄的事件數目量超過1 條的寵物資訊
select a.name,species,sex,count(*)
from pet a, event b
where a.name = b.name
group by b.name
having count(*)>=2

-- 列出發生了兩件事情的寵物的事件記錄資訊
select a.name,type,date,remark,b.species,b.sex,b.owner
from event a, pet b
where a.name=b.name and
   b.name in
   (
select name
from event
group by name
having count(*)=2
   )

-- 插入語句
insert into pet (name,species,birth)
values ('KKK','snake','2007-01-01');

insert into pet
values ('KK','Diane','cat','f',null,null);

insert into pet set name='k',owner='Benny'

-- 更新語句
update pet set species='snake',sex='f',birth=now()
where name='k'

-- 將事件表中生日的日期,更新到pet 表中相應寵物的birth 欄位
update pet a
set birth = (
             select date
             from event b
             where a.name=b.name and b.type='birthday'
         )
where a.name in (
               select name
               from event
               where type='birthday'
            )

-- 刪除語句
delete from pet where name like 'k%'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.