牛客網練習sql題1 出錯和分析

2021-10-09 05:48:30 字數 1314 閱讀 2968

題目1:

查詢最晚入職員工的所有資訊,為了減輕入門難度,目前所有的資料裡員工入職的日期都不是同一天(sqlite裡面的注釋為–,mysql為comment)

create tableemployees(

emp_noint(11) not null, – 『員工編號』

birth_datedate not null,

first_namevarchar(14) not null,

last_namevarchar(16) not null,

genderchar(1) not null,

hire_datedate not null,

primary key (emp_no));

解答:

hire_date=min(hire_date)求最晚入職,應為max最大,不是min最小。其次這個過濾條件語法沒寫對。不對✘

min(hire_date)不對 ✘的理由同上。

執行成功✔。

我在練習時,將limit 0,1處這樣寫了limit (0,1),這是語法沒掌握好。

題目2:

查詢入職員工時間排名倒數第三的員工所有資訊,為了減輕入門難度,目前所有的資料裡員工入職的日期都不是同一天

create tableemployees(

emp_noint(11) not null,

birth_datedate not null,

first_namevarchar(14) not null,

last_namevarchar(16) not null,

genderchar(1) not null,

hire_datedate not null,

primary key (emp_no));

解答:子查詢能夠查出不止一條倒數第三入職時間的資料,更加泛用。✔

對於入職時間的子查詢還可以使用distinct hire_date 或者group by hire_date ,去重入職時間。group by 的優先順序高於 limit。

掌握的知識點:

文章只作為練習的筆記用途,如有出錯,懇請指正。

牛客網練習sql題2 出錯和分析

1.題目 查詢所有已經分配部門的員工的last name和first name以及dept no 請注意輸出描述裡各個列的前後順序 create tabledept emp emp noint 11 not null,dept nochar 4 not null,from datedate not ...

牛客網SQL實戰練習(1)

1.查詢最晚入職員工的所有資訊 create tableemployees emp noint 11 not null,birth datedate not null,first namevarchar 14 not null,last namevarchar 16 not null,genderc...

牛客網程式設計題1

輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。思路 本題最初想簡單的求模算出等於1的位數,但是發現負數不行。其實簡單的做法應該是與 1相與,如果為 1,則原來為 1,迴圈移位判斷。但注意,要左移,要是右移,對於負數會一直在高位補 1,導致結果不準確。class solution ...