SQL語句之查詢(SELECT)

SQL是用于訪問和處理數(shù)據(jù)庫的標準計算機語言;

中文:結(jié)構(gòu)化查詢語言;英文全稱:Structured Query Language;

而其中的核心就是查詢。

簡單查詢

SELECT字段,字段,字段...? [SELECT子句]FROMEMP;(數(shù)據(jù)來源)[FROM子句]

以上兩個語句執(zhí)行時,先執(zhí)行FROM子句,再執(zhí)行SELECT子句。

當查詢所有字段信息時可以使用通配符*。

當信息有重復時,可以使用關鍵字DISTINCT來去除重復。

限定查詢

再實際開發(fā)中基本上都會使用限定查詢

SELECT字段,字段,字段...? [SELECT子句]

FROM數(shù)據(jù)來源? [FROM子句]

WHERE過濾條件 [WHERE子句]

WHERE?子句會根據(jù)過濾條件來選擇出滿足條件的數(shù)據(jù)。


1.關系運算符

SELECT*FROM EMP WHERE SAL>1000;

查詢月薪大于1000的員工信息。

SELECT*FROM EMP WHEREE NAME='SMITH';

查詢名為SMITH的員工信息。

SELECT*FROM EMP WHERE JOB<> 'SALESMAN';

查詢工作不是SALESMAN(銷售)所有員工信息。

2.邏輯運算符

SELECT* FROM EMP WHERE SAL>=1500 AND SAL<=3000;

SELECT* FROM EMP WHERE BETWEEN 1500 AND 3000;

以上兩種方式都是查詢所有月薪在1500到3000之間的員工信息;但是這兩種的有區(qū)別的。第一種在數(shù)據(jù)庫中會認為是兩個判斷條件,而第二種(BETWEEN AND?)則只認為是一個判斷條件,所有第二種效率更高一點。

3.空判斷

SELECT* FROM EMP WHERE COMM IS NULL;

查詢沒有傭金的員工信息。

4.IN查詢

SELECT* FROM EMP WHERE EMPNO IN(7788,7654,6329);

查詢員工編號是7788,7654,6329的員工信息。


模糊查詢

在了解模糊查詢之前要先了解通配符_和%;

_:表示任意一個字符;

%:表示任意位數(shù)的任意字符;

同過關鍵字LIKE來實現(xiàn)模糊查詢。

SELECT字段,字段...FROM數(shù)據(jù)來源WHERE模糊查詢的字段LIKE關鍵內(nèi)容

SELECT* FROM EMP WHERE ENAME LIKE 'A%';

查詢姓名以A開頭的員工信息。

SELECT * FROM EMP WHERE ENAME LIKE '%A%';

查詢姓名中含有A的員工信息。

SELECT * FROM EMP WHERE ENAME LIKE'_A%';

查詢姓名第二個字母是A的員工信息。


排序查詢

排序查詢:將結(jié)果按照指定字段進行升序或者降序來顯示,注意指定的字段一般指數(shù)字或者日期。

其關鍵字是?ORDER BY

SELECT字段...FROM數(shù)據(jù)來源WHERE過濾條件ORDER BY排序字段ASC[DESC]

ASC:升序排列(默認); DESC:降序排列。

SELECT * FROM EMP WHERE JOB='SALESMAN' ORDER BY SAL DESC;

工作是銷售并按月薪降序排列員工信息。


多表查詢

如果要從多張數(shù)據(jù)表中查詢數(shù)據(jù),那么就會用到多表查詢,多表查詢也叫做連接查詢。

SELECT字段...FROM數(shù)據(jù)源,數(shù)據(jù)源...WHERE過濾條件ORDER BY排序字段ASC[DESC]

當多表查詢時,會產(chǎn)生笛卡爾積。即查詢出的數(shù)據(jù)量是各個數(shù)據(jù)源的數(shù)據(jù)量的乘積。這樣的數(shù)據(jù)含有大量沒用的重復數(shù)據(jù),可以使用WHERE 子句來加過濾條件消除笛卡爾積。

SELECT * FROM EMP,DEPT? (EMP和DEPT是兩張表)

WHERE EMP.DEPTNO=DEPT.DEPTNO;?

通過WHERE使兩張數(shù)據(jù)源中關聯(lián)字段相等來消除笛卡爾積。注意:這里的消除是指不顯示沒用的相關數(shù)據(jù),實際上并沒用真正的去除。所以一般數(shù)據(jù)量比較大時 不要使用多表查詢,會消耗很多性能。

Source:https://www.cnblogs.com/fzxey/p/10883824.html

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容