Linux-MySQL基本命令-SQL語句

?

服務端命令SQL

在數據庫系統中,SQL語句不區分大小寫(建議用大寫)
?SQL語句可單行或多行書寫,以“;”結尾
?關鍵詞不能跨多行或簡寫
?用空格和縮進來提高語句的可讀性
?子句通常位于獨立行,便于編輯,提高可讀性
?注釋:
?SQL標準:
/*注釋內容*/ 多行注釋
-- 注釋內容 單行注釋,注意有空格
?MySQL注釋:
#

SQL優化

查詢時,能不要*就不用*,盡量寫全字段名
?大部分情況連接效率遠大于子查詢
?多表連接時,盡量小表驅動大表,即小表 join 大表
?在千萬級分頁時使用limit
?對于經常使用的查詢,可以開啟緩存
?多使用explain和profile分析查詢語句
?查看慢查詢日志,找出執行時間長的sql語句優化

?

sql查詢:單表查詢和多表查詢

?

兩張表合并:橫向合并、縱向合并

縱向合并:兩張表挑出相同的字段進行合并(注意順序)

?

范例

SQL查詢范例

1、給表的字段名添加別名 select stuid as 學生編號,name 姓名,gender 性別 from students;

2、查詢年齡大于40的 select * from students where age >40;

3、查找年齡大于20小于40的 select * from students where age < 40 and age > 20; select * from students where age between 20 and 40;(這種是包含)

4、查詢以姓名以X開頭的 select * from students where name like 'x%';

5、查找字段中為空值得信息 select * from students where classid is null;

6、查找字段值不為空得信息 select * from students where classid is not null;

7、查找報1,2,6班得學生信息 select * from students where classid in (1,2,6);

8、查找年齡,并去掉重復得年齡 select distinct age from students;

9、查詢年齡,去掉重復并排序 select distinct age from students order by age;(默認正序) select distinct age from students order by age desc;(倒敘)

10、統計students表總共有多少行 select count(*) from students;

11、統計age年齡的總和 select sum(age) from students;

12、統計年齡最大的 select max(age) from students;

13、統計男女平均年齡 select gender,avg(age) from students group by gender;

14、分別統計每班的女生男生平均成績(gender性別classid班級age成績) select gender,classid,avg(age) from students group by gender, classid;

15、基于上條再統計女生的最大年齡 select gender,max(age) from students group by gender having gender='f'; 備注:分完組后再條件用having不能用where

16、按照課程統計沒課考試最好的成績 select courseid,max(score) as 最好成績 from scores group by courseid;

17、取排序的前3名 select age from students order by age desc limit 3;

18、基于排序跳過2個顯示3個 select age from students order by age desc limit 2,3;

多表

1、縱向合并兩張表
select stuid as id,name,age,gender from students union select tid,name,age,gender from teachers;
2、基于上條查詢 查找age字段大于50的信息
select * from (select stuid as id,name,age,gender from students union select tid,name,age,gender from teachers)as b  where b.age >50;
備注:利用了子查詢

子查詢:

查找比平均年齡大的信息
select name,age from students where age >(select avg(age) from students);

交叉鏈接

兩張表交叉鏈接組合
select * from students cross join teachers;

內連接

取兩張表的交集實現查找出學生對應的老師
select s.name as 學生name,t.name as 老師name from students as s inner join teachers as t on s.teacherid=t.tid;
備注:因為兩種表有相同的字段,為了群分開給它加別名as,

左外鏈接

兩張表A 和 B ,
取A表和B表的與A表相關的部分,A加B的一部分
select stuid,s.name,s.age,s.gender,classid,teacherid,tid,t.name,t.age,t.gender from students as s left join teachers as t on s.teacherid=t.tid;

?

有這樣一個表emp

公司人員信息,即對應的領導--(leaderid領導編號)

idnameleaderid
1xiaomingnull
2wanger1
3zhangsan2
4lisi3

現在有這樣一個需求,查詢每個人員對應的領導是誰

把emp表當作兩張表來處理,自鏈接

 select e.name as emp,l.name as leader from emp as e left outer join emp as l on e.leaderid=1.id;

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451073.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451073.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451073.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

webAPI token驗證

ASP.NET WebApi 實現Token驗證 https://www.cnblogs.com/dukang1991/p/5627584.html轉載于:https://www.cnblogs.com/KQNLL/p/9757025.html

評論:中國企業向Faceook學習什么

摘要&#xff1a;古人云&#xff1a;“迨天之未陰雨&#xff0c;徹彼桑土&#xff0c;綢繆牖戶。且不論究竟誰會成為中國的Facebook&#xff0c;伴隨著Facebook因上市帶來的又一輪火熱&#xff0c;不妨先來看看中國企業最需要向Facebook學習什么。古人云&#xff1a;“迨天之未…

java ++i、i++、i++ + ++i、i++ + i++原理

先上代碼&#xff1a; public static void main(String args[]) {int A 1;int B 10;int C 100;int D 1000;System.out.println(A);System.out.println(B);System.out.println(C C);System.out.println(C);System.out.println(D D);System.out.println(D);} 在來運行結果…

一個判斷session是否過期的小技巧

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Session一直是我們做web項目經常使用的&#xff0c;以前沒太注意&#xff0c;這次又細致的看了下&#xff01; 1.session其實就是一個Ma…

擴展方法

擴展方法是寫在靜態類中&#xff0c;且方法是靜態方法。 不限制參數的數量。 不限制返回類型。 不限制可使用擴展方法的類型。 和普通方法編寫相似&#xff0c;唯一不同的是每一個擴展方法都必須有一個固定的參數。statc void Method&#xff08; this DataType name&#xff0…

cpu執行命令方式

(一)有序處理器 早期的處理器為有序處理器&#xff08;In-order processors&#xff09;&#xff0c;有序處理器處理指令通常有以下幾步&#xff1a; 指令獲取如果指令的輸入操作對象&#xff08;input operands&#xff09;可用&#xff08;例如已經在寄存器中了&#xff09…

jQuery基礎-事件

只能添加一個處理函數&#xff0c;后面的會覆蓋前面 會有兼容性差異 冒泡 會依次檢查父元素 截獲冒泡 或者 最大的缺陷 并且在IE和NetSpace里面分別為冒泡和捕獲兩種 多個處理函數 依次執行 捕獲--->自己--->冒泡 true 只捕獲&#xff0c;不冒泡 false 只冒泡 從父元素的…

別的AI還在打游戲,這個AI已經當上“超級馬里奧”游戲策劃了|GECCO最佳論文

AI打游戲已經不是什么新鮮事了&#xff0c;“沉迷”Dota 2、星際爭霸、LOL的AI一個接一個的出現。 但是你也許不知道&#xff0c;相比這些“游戲玩家”AI&#xff0c;還有一位優秀的AI&#xff0c;直接當起了“游戲策劃”&#xff0c;做的還是膾炙人口的“超級馬里奧”。 &…

單點登錄的三種實現方式

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 單點登錄SSO&#xff08;Single Sign On&#xff09;說得簡單點就是在一個多系統共存的環境下&#xff0c;用戶在一處登錄后&#xff0c;…

快速判斷數組中每個對象同一屬性值是否相同

做批量查詢的時候&#xff0c;要確定數組中的多個對象下的字符串是否能全部匹配&#xff0c;這時需要在匹配的名稱對象中通過字段記錄該名稱是否匹配。 const search [ { name: B, isExistence: false },{ name: C, isExistence: false } ]; 這時要確定 search 是否全部匹配上…

java對象占用內存大小?

一個不包含任何內部成員變量的空Object大約占33byte&#xff0c;若增加成員變量&#xff0c;則增加相應大小的內存占用。 測算方式&#xff1a;設置jvm的堆大小為1m&#xff0c;在堆中不停new不含任何成員變量的OOMObject對象&#xff0c;直到堆內存溢出。如下圖&#xff0c;在…

Java程序員面試中的多線程問題

很多核心Java面試題來源于多線程(Multi-Threading)和集合框架(Collections Framework)&#xff0c;理解核心線程概念時&#xff0c;嫻熟的實際經驗是必需的。這篇文章收集了 Java 線程方面一些典型的問題&#xff0c;這些問題經常被高級工程師所問到。 0.Java 中多線程同步是什…

SpringBoot2使用WebFlux函數式編程

本文只是簡單使用SpringBoot2使用WebFlux的函數式編程簡單使用&#xff0c;后續會繼續寫關于Webflux相關的文章。 最近一直在研究WebFlux&#xff0c;后續會陸續出一些相關的文章。 首先看一下Srping官網上的一張圖&#xff0c;對比一下SpringMvc和Spring WebFlux&#xff0c;如…

單點登錄原理與簡單實現

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、單系統登錄機制 1、http無狀態協議 web應用采用browser/server架構&#xff0c;http作為通信協議。http是無狀態協議&#xff0c;瀏…

java接口類支持多繼承

一個類只能extends一個父類&#xff0c;只能有一個父類&#xff0c;但可以implements多個接口。java通過使用接口的概念來取代C中多繼承。與此同時&#xff0c;一個接口則可以同時extends多個接口&#xff0c;卻不能implements任何接口。Java中的接口是支持多繼承的。

xmind-HTTP協議

轉載于:https://www.cnblogs.com/margot921/p/9764788.html

彈性布局

彈性布局 一、Flex布局是什么&#xff1f; Flex是Flexible Box的縮寫&#xff0c;意為”彈性布局”&#xff0c;用來為盒狀模型提供最大的靈活性。任何一個容器都可以指定為Flex布局。 二、基本概念 采用Flex布局的元素&#xff0c;稱為Flex容器&#xff08;flex container&…

Java-Type簡單分類

&#xff08;1&#xff09;ParameterizedType&#xff1a; 參數化類型&#xff0c;例如List<T>。 &#xff08;2&#xff09;GenericArrayType&#xff1a; 泛型數組類型&#xff0c;例如T[]。 &#xff08;3&#xff09;TypeVariable&#xff1a; 泛型的類型變量&a…

解決dataTable 報錯:cannot read property “style“ of undefined

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 其實這錯&#xff0c;我之前也遇到過&#xff0c;只是太久了&#xff0c;沒有記錄下來&#xff0c; 今天看到群里朋友也遇到這個錯誤&a…

萬惡之源 - Python基礎數據類型一

整數 整數在Python中的關鍵字用int來表示; 整型在計算機中運于計算和比較 在32位機器上int的范圍是: -2**31&#xff5e;2**31-1&#xff0c;即-2147483648&#xff5e;2147483647 在64位機器上int的范圍是: -2**63&#xff5e;2**63-1&#xff0c;即-9223372036854775808&…