⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subselect.test

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 TEST
📖 第 1 页 / 共 5 页
字号:
SELECT a FROM t1 WHERE a <> ANY ( SELECT a FROM t1 WHERE b = 2 );SELECT a FROM t1 WHERE a > ALL ( SELECT a FROM t1 WHERE b = 2 );SELECT a FROM t1 WHERE a < ALL ( SELECT a FROM t1 WHERE b = 2 );SELECT a FROM t1 WHERE a = ALL ( SELECT a FROM t1 WHERE b = 2 );SELECT a FROM t1 WHERE a >= ALL ( SELECT a FROM t1 WHERE b = 2 );SELECT a FROM t1 WHERE a <= ALL ( SELECT a FROM t1 WHERE b = 2 );SELECT a FROM t1 WHERE a <> ALL ( SELECT a FROM t1 WHERE b = 2 );# having clause testSELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 HAVING a = 2);# union testSELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);# union + having testSELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);# row tests# < > >= <= and = ALL/ <> ANY do not support row operation-- error 1241SELECT a FROM t1 WHERE (1,2) > ANY (SELECT a FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE a > ANY (SELECT a,2 FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE (1,2) > ANY (SELECT a,2 FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE (1,2) > ALL (SELECT a FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE a > ALL (SELECT a,2 FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE (1,2) > ALL (SELECT a,2 FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE (1,2) = ALL (SELECT a,2 FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE (1,2) <> ANY (SELECT a,2 FROM t1 WHERE b = 2);# following should be converted to IN-- error 1241SELECT a FROM t1 WHERE (1,2) = ANY (SELECT a FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE a = ANY (SELECT a,2 FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE (1,2) = ANY (SELECT a,2 FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE (1,2) <> ALL (SELECT a FROM t1 WHERE b = 2);-- error 1241SELECT a FROM t1 WHERE a <> ALL (SELECT a,2 FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE (1,2) <> ALL (SELECT a,2 FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 WHERE b = 2 UNION SELECT a,1 FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 WHERE b = 2 UNION SELECT a,1 FROM t1 WHERE b = 2);SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 HAVING a = 2 UNION SELECT a,1 FROM t1 HAVING a = 2);SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 HAVING a = 2 UNION SELECT a,1 FROM t1 HAVING a = 2);# without optimisationSELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = 2 group by a);SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = 2 group by a);# without optimisation + havingSELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 group by a HAVING a = 2);SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 group by a HAVING a = 2);# EXISTS in string contenceSELECT concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a > t1.a), '-') from t1 a;SELECT concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a < t1.a), '-') from t1 a;SELECT concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a = t1.a), '-') from t1 a;DROP TABLE t1;CREATE TABLE t1 ( a double, b double );INSERT INTO t1 VALUES (1,1),(2,2),(3,3);SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = 2e0);SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = 2e0);DROP TABLE t1;CREATE TABLE t1 ( a char(1), b char(1));INSERT INTO t1 VALUES ('1','1'),('2','2'),('3','3');SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = '2');SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = '2');DROP TABLE t1;## SELECT(EXISTS * ...)optimisation#create table t1 (a int, b int);insert into t1 values (1,2),(3,4);select * from t1 up where exists (select * from t1 where t1.a=up.a);explain extended select * from t1 up where exists (select * from t1 where t1.a=up.a);drop table t1;## Bug #4102: subselect in HAVING#CREATE TABLE t1 (t1_a int);INSERT INTO t1 VALUES (1);CREATE TABLE t2 (t2_a int, t2_b int, PRIMARY KEY (t2_a, t2_b));INSERT INTO t2 VALUES (1, 1), (1, 2);SELECT * FROM t1, t2 table2 WHERE t1_a = 1 AND table2.t2_a = 1  HAVING table2.t2_b = (SELECT MAX(t2_b) FROM t2 WHERE t2_a = table2.t2_a);DROP TABLE t1, t2;## Test problem with NULL and derived tables (Bug #4097)#CREATE TABLE t1 (id int(11) default NULL,name varchar(10) default NULL);INSERT INTO t1 VALUES (1,'Tim'),(2,'Rebecca'),(3,NULL);CREATE TABLE t2 (id int(11) default NULL, pet varchar(10) default NULL);INSERT INTO t2 VALUES (1,'Fido'),(2,'Spot'),(3,'Felix');SELECT a.*, b.* FROM (SELECT * FROM t1) AS a JOIN t2 as b on a.id=b.id;drop table t1,t2;## outer fields resolving in INSERT/REPLACE and CRETE with SELECT#CREATE TABLE t1 ( a int, b int );CREATE TABLE t2 ( c int, d int );INSERT INTO t1 VALUES (1,2), (2,3), (3,4);SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);INSERT INTO t2 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);select * from t2;CREATE TABLE t3 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);select * from t3;prepare stmt1 from "INSERT INTO t2 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);";execute stmt1;deallocate prepare stmt1;select * from t2;drop table t3;prepare stmt1 from "CREATE TABLE t3 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);";execute stmt1;select * from t3;deallocate prepare stmt1;DROP TABLE t1, t2, t3;## Aggregate function comparation with ALL/ANY/SOME subselect#CREATE TABLE `t1` ( `a` int(11) default NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;insert into t1 values (1);CREATE TABLE `t2` ( `b` int(11) default NULL, `a` int(11) default NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;insert into t2 values (1,2);select t000.a, count(*) `C` FROM t1 t000 GROUP BY t000.a HAVING count(*) > ALL (SELECT count(*) FROM t2 t001 WHERE t001.a=1);drop table t1,t2;## BUG#4769 - fulltext in subselect#create table t1 (a int not null auto_increment primary key, b varchar(40), fulltext(b)); insert into t1 (b) values ('ball'),('ball games'), ('games'), ('foo'), ('foobar'), ('Serg'), ('Sergei'),('Georg'), ('Patrik'),('Hakan'); create table t2 (a int); insert into t2 values (1),(3),(2),(7); select a,b from t1 where match(b) against ('Ball') > 0; select a from t2 where a in (select a from t1 where match(b) against ('Ball') > 0); drop table t1,t2;## BUG#5003 - like in subselect#CREATE TABLE t1(`IZAVORGANG_ID` VARCHAR(11) CHARACTER SET latin1 COLLATE latin1_bin,`KUERZEL` VARCHAR(10) CHARACTER SET latin1 COLLATE latin1_bin,`IZAANALYSEART_ID` VARCHAR(11) CHARACTER SET latin1 COLLATE latin1_bin,`IZAPMKZ_ID` VARCHAR(11) CHARACTER SET latin1 COLLATE latin1_bin);CREATE INDEX AK01IZAVORGANG ON t1(izaAnalyseart_id,Kuerzel);INSERT INTO t1(`IZAVORGANG_ID`,`KUERZEL`,`IZAANALYSEART_ID`,`IZAPMKZ_ID`)VALUES('D0000000001','601','D0000000001','I0000000001');INSERT INTO t1(`IZAVORGANG_ID`,`KUERZEL`,`IZAANALYSEART_ID`,`IZAPMKZ_ID`)VALUES('D0000000002','602','D0000000001','I0000000001');INSERT INTO t1(`IZAVORGANG_ID`,`KUERZEL`,`IZAANALYSEART_ID`,`IZAPMKZ_ID`)VALUES('D0000000003','603','D0000000001','I0000000001');INSERT INTO t1(`IZAVORGANG_ID`,`KUERZEL`,`IZAANALYSEART_ID`,`IZAPMKZ_ID`)VALUES('D0000000004','101','D0000000001','I0000000001');SELECT `IZAVORGANG_ID` FROM t1 WHERE `KUERZEL` IN(SELECT MIN(`KUERZEL`)`Feld1` FROM t1 WHERE `KUERZEL` LIKE'601%'And`IZAANALYSEART_ID`='D0000000001');drop table t1;## Optimized IN with compound index#CREATE TABLE `t1` ( `aid` int(11) NOT NULL default '0', `bid` int(11) NOT NULL default '0', PRIMARY KEY  (`aid`,`bid`));CREATE TABLE `t2` ( `aid` int(11) NOT NULL default '0', `bid` int(11) NOT NULL default '0', PRIMARY KEY  (`aid`,`bid`));insert into t1 values (1,1),(1,2),(2,1),(2,2);insert into t2 values (1,2),(2,2);select * from t1 where t1.aid not in (select aid from t2 where bid=t1.bid);alter table t2 drop primary key;alter table t2 add key KEY1 (aid, bid);select * from t1 where t1.aid not in (select aid from t2 where bid=t1.bid);alter table t2 drop key KEY1;alter table t2 add primary key (bid, aid);select * from t1 where t1.aid not in (select aid from t2 where bid=t1.bid);drop table t1,t2;## resolving fields of grouped outer SELECT#CREATE TABLE t1 (howmanyvalues bigint, avalue int);INSERT INTO t1 VALUES (1, 1),(2, 1),(2, 2),(3, 1),(3, 2),(3, 3),(4, 1),(4, 2),(4, 3),(4, 4);SELECT howmanyvalues, count(*) from t1 group by howmanyvalues;SELECT a.howmanyvalues, (SELECT count(*) from t1 b where b.howmanyvalues = a.howmanyvalues) as mycount from t1 a group by a.howmanyvalues;CREATE INDEX t1_howmanyvalues_idx ON t1 (howmanyvalues);SELECT a.howmanyvalues, (SELECT count(*) from t1 b where b.howmanyvalues+1 = a.howmanyvalues+1) as mycount from t1 a group by a.howmanyvalues;SELECT a.howmanyvalues, (SELECT count(*) from t1 b where b.howmanyvalues = a.howmanyvalues) as mycount from t1 a group by a.howmanyvalues;SELECT a.howmanyvalues, (SELECT count(*) from t1 b where b.howmanyvalues = a.avalue) as mycount from t1 a group by a.howmanyvalues;drop table t1;create table t1 (x int);select  (select b.x from t1 as b where b.x=a.x) from t1 as a where a.x=2 group by a.x;drop table t1;## Test of correct maybe_null flag returning by subquwery for temporary table# creation#CREATE TABLE `t1` ( `master` int(10) unsigned NOT NULL default '0', `map` smallint(6) unsigned NOT NULL default '0', `slave` int(10) unsigned NOT NULL default '0', `access` int(10) unsigned NOT NULL default '0', UNIQUE KEY `access_u` (`master`,`map`,`slave`));INSERT INTO `t1` VALUES (1,0,0,700),(1,1,1,400),(1,5,5,400),(1,12,12,400),(1,12,32,400),(4,12,32,400);CREATE TABLE `t2` ( `id` int(10) unsigned NOT NULL default '0', `pid` int(10) unsigned NOT NULL default '0', `map` smallint(6) unsigned NOT NULL default '0', `level` tinyint(4) unsigned NOT NULL default '0', `title` varchar(255) default NULL, PRIMARY KEY  (`id`,`pid`,`map`), KEY `level` (`level`), KEY `id` (`id`,`map`)) ;INSERT INTO `t2` VALUES (6,5,12,7,'a'),(12,0,0,7,'a'),(12,1,0,7,'a'),(12,5,5,7,'a'),(12,5,12,7,'a');-- error 1054SELECT b.sc FROM (SELECT (SELECT a.access FROM t1 a WHERE a.map = op.map AND a.slave = op.pid AND a.master = 1) ac FROM t2 op WHERE op.id = 12 AND op.map = 0) b;SELECT b.ac FROM (SELECT (SELECT a.access FROM t1 a WHERE a.map = op.map AND a.slave = op.pid AND a.master = 1) ac FROM t2 op WHERE op.id = 12 AND op.map = 0) b;drop tables t1,t2;## Test for bug #6462. "Same request on same data returns different# results." a.k.a. "Proper cleanup of subqueries is missing for # SET and DO statements".#create table t1 (a int not null, b int not null, c int, primary key (a,b));insert into t1 values (1,1,1), (2,2,2), (3,3,3);set @b:= 0;# Let us check that subquery will use covering indexexplain select sum(a) from t1 where b > @b;# This should not crash -debug serve

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -