java程序員面試題,java面試_數據庫

 2023-10-21 阅读 29 评论 0

摘要:1.group by 根據表里的字段名分類,相同字段名只顯示一行記錄,通常與聚集函數max、min合用選擇最大值最小值,或者與having合用篩選,結果按照group by的字段排序 例:select * from examine group by e_date; 結果: +------------

1.group by
根據表里的字段名分類,相同字段名只顯示一行記錄,通常與聚集函數max、min合用選擇最大值最小值,或者與having合用篩選,結果按照group by的字段排序
例:select * from examine group by e_date;
結果:
+-------------+------------+-----------+------------+---------------+
| e_id | e_name | h_id | e_date | e_teachername |
+-------------+------------+-----------+------------+---------------+
| 21500000201 | 急救學考核 | 215000002 | 2018-07-31 | 鄒恩岑 |
| 21000000102 | 心理學 | 210000001 | 2018-08-20 | 陸衛忠 |
| 21500000101 | 護理學考核 | 215000001 | 2018-08-31 | 席雪峰 |
| 21000000101 | 病理學考核 | 210000001 | 2018-09-30 | 南順豐 |
| 21500000103 | 康復學考核 | 215000001 | 2018-11-01 | 林芳 |
+-------------+------------+-----------+------------+---------------+
2.起別名
起別名分為為表起別名和為字段起別名,使用as關鍵字其中為字段起別名可以省略as關鍵字。
給字段起別名,結果中的字段名直接改為別名
例:select e_name as name
from examine group by e_date;
+------------+
| name |
+------------+
| 急救學考核 |
| 心理學 |
| 護理學考核 |
| 病理學考核 |
| 康復學考核 |
+------------+

給表起別名
例:select?from examine
where examine.e_name = '心理學';和
select?
from examine e where e.e_name = '心理學';結果一樣

3.連接查詢
內連接
查詢兩張表匹配的內容 on是條件
select e.e_id ,e.e_name from examine e inner join hospital_info h on e.hid = h.h
id;
+-------------+--------------+
| e_id | e_name |
+-------------+--------------+
| 21000000101 | 病理學考核 |
| 21000000102 | 心理學 |
| 21500000101 | 護理學考核 |
| 21500000102 | 臨床護理考核 |
| 21500000103 | 康復學考核 |
| 21500000201 | 急救學考核 |
+-------------+--------------+

java程序員面試題?外連接
分為左外連接和右外鏈接,表示以左邊的表或者右邊的表為基礎,篩選出基準表中有的內容,非基準表里沒有的內容顯示為null。
交叉連接
返回兩張表的笛卡爾積,效果相當于select * from table1,table2;

4.事務
事務的四個特性:
1.原子性
一組操作是一個整體,要么全部完成,要么全部放棄(回滾)
2.穩定性
操作出錯時,有非法外鍵約束,事務撤回
3.隔離性
事務和事務相對獨立
4.可靠性
事務提交后可以永久保存
提交事務 commit
回滾事務 rollback
事務自動提交autocommit = 1 0為關閉自動提交
開啟事務 start transition 或者begin

5.事務的隔離級別
查看隔離級別:select @@tx_isolation
設置當前事務的隔離級別: set tx_isolation= “隔離級別”;
事務的隔離級別是為了避免出現臟讀,幻讀,不可重復讀的問題
1.read uncommit 讀未提交 什么都不能解決
2.read commit 讀已提交 可避免臟讀
3.repeatable read 可重復讀 可避免臟讀,不可重復讀
4.serializable 串行化 可避免臟讀,幻讀,可重復讀

6.樂觀鎖
默認數據不會出錯,只有提交修改數據庫時才回去判斷會不會出錯。底層使用version實現,比較修改的時version和取出 數據時version是否相同,另一種實現機制是時間戳。
7.聚集函數
Count()返回滿足條件的列數
Max()返回最大
Min()返回最小值
Sun()返回和
Avg()返回平均值
8.索引
索引可以在創建表的時候指定,也可以使用語句創建
9.視圖
視圖使用create view as select創建
10.having
Where子句后面不能接聚合函數
Having后面接聚合函數
11.order by
排序

java 面試 高質量 集合面試問題。來源:https://blog.csdn.net/RobotBing/article/details/85157705

轉載于:https://www.cnblogs.com/qixidi/p/10189802.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/154709.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息