1.有以下數據,怎麼查詢顯示結果爲 張三, 北京 河北, 12:00數據庫
name address arrive_time 張三 北京 10:00 張三 河北 12:00 SELECT name, GROUP_CONCAT(DISTINCT address SEPARATOR ' ') AS address, max(arrive_time) AS arrive_time FROM mytable GROUP BY name;
2.如何查詢重複數據?函數
SELECT * FROM student GROUP BY name HAVING count(name ) > 1
3.查詢結果如何去重?優化
distinct關鍵字或者group by
4.Oracle數據庫分頁查詢code
select a1.* from (select student.*,rownum rn from student where rownum <=5) a1 where rn >=3;
5.delete、truncate、drop都是刪除語句,他們的區別是什麼索引
在速度上,通常來講,drop> truncate > delete delete用於刪除部分數據 truncate 刪除整個表而後從新建立這個表(至關於清空了表數據) drop 摧毀整個表
6.數據庫主鍵和外鍵做用事務
主鍵是表格裏的(一個或多個)字段,只有一個,用來定義表格裏的行值 外鍵是一個用來創建兩個表格之間關係的約束,能夠有多個
7.where和having的區別ci
Where子句中不能使用聚合函數 而Having子句中能夠 having位於where後面
8.union和union all的區別數學
兩者都是合併查詢結果集,UNION用的比較多 union all是直接鏈接,取到得是全部值,記錄可能有重複 union 是取惟一值,記錄沒有重複
9.數據庫事務正確執行的四個基本要素是什麼it
原子性(Atomicity) 一致性(Consistency) 隔離性(Isolation) 持久性(Durability)
10.有以下數據,查詢出每門課都大於80分的學生姓名io
name class score 蔡徐坤 語文 80 蔡徐坤 英語 55 吳亦凡 語文 100 吳亦凡 英語 90 鄧紫棋 英語 85 鄧紫棋 數學 70 鄧紫棋 語文 95 select name from table group by name having min(score)>80
11.數據庫優化策略
a.多條件查詢時將更精準的條件放在前面 b.儘可能用in代替or c.儘可能查具體字段而不是無腦查* d.當只須要一條結果時能夠在查詢語句後面加一句rownum = 1或者limit 1 e.選用合適的數據庫引擎 f.建立合適的索引