牛客網SQL刷題41 50

2021-10-12 07:10:32 字數 3590 閱讀 2021

create table if not exists titles_test (

id int(11) not null primary key,

emp_no int(11) not null,

title varchar(50) not null,

from_date date not null,

to_date date default null);

答案:

delete from titles_test where id

notin

(select *

from

(select min(id

)from titles_test group by emp_no) a)

;

create table if not exists titles_test (

id int(11) not null primary key,

emp_no int(11) not null,

title varchar(50) not null,

from_date date not null,

to_date date default null);

基本的資料更新語法,update 表名稱 set 列名稱 = 新值 where 列名稱 = 某值 update titles_test set to_date = null , from_date =

'2001-01-01' where to_date =

'9999-01-01'

答案:update titles_test set to_date=null,from_date=

'2001-01-01'

where to_date=

'9999-01-01'

;

create table titles_test (

id int(11) not null primary key,

emp_no int(11) not null,

title varchar(50) not null,

from_date date not null,

to_date date default null);

本題考查的是replace函式,其中包含三個引數,

第乙個引數為該字段的名稱,

第二引數為該字段的需要被修改值,

第三個引數為該字段修改後的值。

update titles_test set emp_no=

replace(emp_no,

10001

,10005

)where id=5

and emp_no=

10001

;

mysql中修改表資訊的規則。

alter table 表名 change 原列名 新列名 型別; --修改表的列屬性名

alter table 表名 modify 列名 型別 ; --修改表的類型別

alter table 表名 drop 列名; --刪除表的某一列

alter table 表名 add 列名 型別;–新增某一列

alter table 表名 rename 新錶名; --修改表名

alter table titles_test rename  titles_2017;
alter table audit add constraint fk_emp_no foreign key audit(emp_no)

references employees_test(id)

;

create table emp_bonus(

emp_no int

not null,

btype smallint not null)

;create table `salaries` (

`emp_no` int(11

) not null,

`salary` int(11

) not null,

`from_date` date not null,

`to_date` date not null, primary key (`emp_no`,`from_date`));

答案:update salaries

set salary=salary*

1.1where emp_no in

(select emp_no from emp_bonus)

and to_date=

'9999-01-01'

;

select concat(last_name,

"'",first_name)

as name

from employees;

select length(

'10,a,b'

)-length(replace(

'10,a,b'

,",",""

))as cnt;

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));

right函式:可以看到它能返回從最右邊開始指定長度的字串。同理left函式就是返回從最左邊開始的指定長度字串。

select first_name from employees order by right(first_name,2)

;

create table `dept_emp` (

`emp_no` int(11

) not null,

`dept_no` char(

4) not null,

`from_date` date not null,

`to_date` date not null,

primary key (`emp_no`,`dept_no`));

聚合函式group_concat(x,y),其中x是要連線的字段,y是連線時用的符號,可省略,預設為逗號。

此函式必須與group by配合使用。此題以dept_no作為分組,將每個分組中不同的emp_no用逗號連線起來(即可省略y)。

答案:select dept_no,group_concat(emp_no) employees

from dept_emp group by dept_no

牛客網刷題 SQL篇

牛客網sql刷題日記 day 1 查詢最晚入職員工的資訊 題目描述 有乙個員工employees表簡況如下 建表語句如下 create tableemployees emp noint 11 not null,birth datedate not null,first namevarchar 14 ...

牛客網刷題

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 立華奏在學習初中數學的時候遇到了這樣一道大水題 設箱子內有 n 個球,其中給 m 個球打上標記,設一次摸球摸到每乙個球的概率均等,求一次摸球摸到打標記的球的概率 e...

牛客網刷題

時間限制 c c 2秒,其他語言4秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 立華奏是乙個剛剛開始學習 oi 的萌新。最近,實力強大的 qingyu 當選了 iods 9102 的出題人。眾所周知,iods 是一場極其毒瘤的比賽。為了在這次...