基于SQL中的數(shù)據(jù)查詢語(yǔ)句匯總
where條件表達(dá)式
--統(tǒng)計(jì)函數(shù)
Select count(1) from student;
--like模糊查詢
--統(tǒng)計(jì)班上姓張的人數(shù)
select count(*) from student where realName like '張%';
--統(tǒng)計(jì)班上張姓兩個(gè)字的人數(shù)
select count(*) from student where realName like '張_';
--統(tǒng)計(jì)班上杭州籍的學(xué)生人數(shù)
select count(*) from student where home like '%杭州%';
--查詢班上每位學(xué)生的年齡
select realName,year(now())-year(birthday) as age from student;
--查詢90年出生的學(xué)生
select realName from student where year(birthday)>='1990';
--查詢1987-1990年出生的學(xué)生
select realName from student where year(birthday)<='1990' and year(birthday)>='1987';
select * from student where year(birthday) between '1987' and '1990';
--查詢班上男女生人數(shù)
select sex,count(*) from student group by sex;
--in子句查詢班上B或O型血的學(xué)生
select realName,blood from student where blood in('B','O');
子查詢
子查詢也可稱之為嵌套查詢,有些時(shí)候,一次查詢不能解決問(wèn)題,需要多次查詢。
按子查詢返回的記錄行數(shù)區(qū)分,可分為單行子查詢和多行子查詢;
select * from emp where sal>( select sal from emp where ename='ALLEN‘ or ename =‘KING')
上例是找出比allen工資高的所有員工
A.子查詢一般先于主語(yǔ)句的運(yùn)行
B.必須有( ),表示一個(gè)整體
C.習(xí)慣上把子查詢放在條件的右邊
多行子查詢:some,any,all
連接語(yǔ)句(應(yīng)用于多表查詢)
包括:內(nèi)聯(lián),外聯(lián)(左外連和右外聯(lián))
內(nèi)聯(lián)(inner join):把兩張表相匹配的行查詢出來(lái)。
--查詢每個(gè)學(xué)生的各科成績(jī),顯示“姓名”“課程名”“分?jǐn)?shù)”三列
select a.realname,c.courseName,b.score from stu_student as a inner join stu_score as b on a.sid=b.sid inner join stu_course c on b.cid=c.cid
還有一種方法,不采用inner join:
select a.realname,c.courseName,b.score from student a,score b,course c where a.sid=b.sid and c.cid=b.cid
外聯(lián)分左外聯(lián)和右外聯(lián):
Left outer join:查詢兩邊表的匹配記錄,且將左表的不匹配記錄也查詢出來(lái)。
Right outer join:等上,將右表不匹配記錄也查詢出來(lái)。
select a.realname,b.score from stu_student as a left outer join stu_score as b on a.sid=b.sid
相關(guān)文章
MySQL導(dǎo)出數(shù)據(jù)遇到secure-file-priv問(wèn)題的解決方法
這篇文章主要為大家詳細(xì)介紹了MySQL導(dǎo)出數(shù)據(jù)遇到secure-file-priv問(wèn)題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
mysql創(chuàng)建函數(shù)出現(xiàn)1418錯(cuò)誤的解決辦法
本篇文章是對(duì)在Mysql中創(chuàng)建函數(shù)報(bào)“ERROR 1418”的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
解析mysql二進(jìn)制日志處理事務(wù)與非事務(wù)性語(yǔ)句的區(qū)別
本篇文章是對(duì)mysql二進(jìn)制日志處理事務(wù)與非事務(wù)性語(yǔ)句的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
MySQL實(shí)現(xiàn)字段分割一行轉(zhuǎn)多行的示例代碼
這篇文章主要介紹了MySQL實(shí)現(xiàn)字段分割一行轉(zhuǎn)多行的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
mysql免安裝版1067錯(cuò)誤終極解決辦法圖文教程
這篇文章主要介紹了mysql免安裝版1067錯(cuò)誤終極解決辦法圖文教程,從筆記本到pc端。本文給大家介紹的非常詳細(xì),需要的朋友參考下2017-01-01
MySQL數(shù)據(jù)庫(kù)使用規(guī)范總結(jié)
本篇文章給大家詳細(xì)分類總結(jié)了數(shù)據(jù)庫(kù)相關(guān)規(guī)范,幫助大家發(fā)揮出數(shù)據(jù)庫(kù)的性能,感興趣的朋友可以了解下2020-08-08
MySQL: mysql is not running but lock exists 的解決方法
下面可以參考下面的方法步驟解決。最后查到一個(gè)網(wǎng)友說(shuō)可能和log文件有關(guān),于是將log文件給移除了,再重啟MySQL終于OK了2009-06-06
徹底搞懂MySQL存儲(chǔ)過(guò)程和函數(shù)
我們大家都知道MySQL 存儲(chǔ)過(guò)程是從 MySQL 5.0 開(kāi)始逐漸增加新的功能,下面這篇文章主要給大家介紹了關(guān)于MySQL存儲(chǔ)過(guò)程和函數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04

