程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 基於SQL中的數據查詢語句匯總

基於SQL中的數據查詢語句匯總

編輯:關於SqlServer
    以下是對SQL中的數據查詢語句進行了匯總介紹,需要的朋友可以過來參考下  

    where條件表達式
    --統計函數

    復制代碼 代碼如下:
    Select count(1) from student;


    --like模糊查詢
    --統計班上姓張的人數

    復制代碼 代碼如下:
    select count(*) from student where realName like '張%';


    --統計班上張姓兩個字的人數

    復制代碼 代碼如下:
    select count(*) from student where realName like '張_';


    --統計班上杭州籍的學生人數

    復制代碼 代碼如下:
    select count(*) from student where home like '%杭州%';


    --查詢班上每位學生的年齡

    復制代碼 代碼如下:
    select realName,year(now())-year(birthday) as age from student;


    --查詢90年出生的學生

    復制代碼 代碼如下:
    select realName from student where year(birthday)>='1990';


    --查詢1987-1990年出生的學生

    復制代碼 代碼如下:
    select realName from student where year(birthday)<='1990' and year(birthday)>='1987';
    select * from student where year(birthday) between '1987' and '1990';


    --查詢班上男女生人數

    復制代碼 代碼如下:
    select sex,count(*) from student group by sex;


    --in子句查詢班上B或O型血的學生

    復制代碼 代碼如下:
    select realName,blood from student where blood in('B','O'); 


    子查詢
    子查詢也可稱之為嵌套查詢,有些時候,一次查詢不能解決問題,需要多次查詢。

    按子查詢返回的記錄行數區分,可分為單行子查詢和多行子查詢;

    復制代碼 代碼如下:
    select * from emp where sal>(       select sal from emp where ename='ALLEN‘ or ename =‘KING')


    上例是找出比allen工資高的所有員工

    A.子查詢一般先於主語句的運行
    B.必須有( ),表示一個整體
    C.習慣上把子查詢放在條件的右邊
    多行子查詢:some,any,all

    連接語句(應用於多表查詢)
    包括:內聯,外聯(左外連和右外聯)
    內聯(inner join):把兩張表相匹配的行查詢出來。

    --查詢每個學生的各科成績,顯示“姓名”“課程名”“分數”三列

    復制代碼 代碼如下:
    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


    外聯分左外聯和右外聯:
    Left outer join:查詢兩邊表的匹配記錄,且將左表的不匹配記錄也查詢出來。
    Right outer join:等上,將右表不匹配記錄也查詢出來。

    復制代碼 代碼如下:


    select a.realname,b.score from stu_student as a left outer join stu_score as b on a.sid=b.sid

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved